JavaTuples - 五元組類



介紹

org.javatuples.Quintet 類表示一個包含五個元素的元組。

類宣告

以下是 org.javatuples.Quintet 類的宣告:

public final class Quintet<A, B, C, D, E>
   extends Tuple
      implements IValue0<A>, IValue1<B>, 
         IValue2<C>, IValue3<D>, IValue4<E>

類建構函式

序號 建構函式 & 描述
1

Quintet(A value0, B value1, C value2, D value3, E value4)

這將建立一個五元組元組。

類方法

類似地,setAt1() 到 setAt4() 設定索引 1 處的值,依此類推。

序號 方法 & 描述
1

Sextet add(Unit tuple)

此方法返回一個六元組元組。

類似地,還有其他新增元組的方法可用,例如 add(Pair tuple) 返回七元組,直到 add(Quintet tuple) 返回十元組。

2

Sextet add(X0 value)

此方法向元組新增一個值並返回一個六元組元組。

類似地,還有其他新增值的方法可用,例如 add(X0 value0, X1 value1) 返回七元組,依此類推,直到 add() 具有五個引數。

3

Sextet addAt0(Unit value)

此方法在索引 0 處新增一個單元元組並返回一個六元組元組。

類似地,還有其他新增元組的方法可用,例如 addAt0(Pair value) 返回七元組,依此類推,直到 addAt0(Quintet)。其他類似的方法是 addAt1(Unit value),它在索引 0 處新增一個單元,並且具有類似的方法,直到 addAt4(Quintet)。

4

Sextet addAt0(X0 value)

此方法在索引 0 處新增一個值並返回一個六元組元組。

類似地,還有其他新增值的方法可用,例如 addAt0(X0 value0, X1 value1) 返回七元組,依此類推,直到 addAt0() 具有五個引數。其他類似的方法是 addAt1(X0 value),它在索引 0 處新增一個值,並且具有類似的方法,直到 addAt4() 具有五個引數。

5

static <X> Quintet<X,X,X,X,X> fromArray(X[] array)

從陣列建立元組。

6

static <X> Quintet<X,X,X,X,X> fromCollection(Collection<X> collection)

從集合建立元組。

7

static <X> Quintet<X,X,X,X,X> fromIterable(Iterable<X> iterable)

從可迭代物件建立元組。

8

static <X> Quintet<X,X,X,X,X> fromIterable(Iterable<X> iterable, int index)

從可迭代物件建立元組,從指定的索引開始。

9

int getSize()

返回元組的大小。

10

A getValue0()

返回索引 0 處元組的值。

類似地,getValue1() 到 getValue4() 返回索引 1 處的值,依此類推。

11

Quartet<B,C,D,E> removeFrom0()

刪除索引 0 處元組的值後返回元組。

類似地,removeFrom1() 到 removeFrom4() 刪除索引 1 處元組的值後返回元組,依此類推。

12

<X> Quintet<X,B,C,D,E> setAt0(X value)

設定索引 0 處元組的值。

13

static <A> Quintet<A,B,C,D,E> with(A value0, B value1, C value2, D value3, E value4)

使用給定值建立元組。

繼承方法

此類繼承自以下類的方法:

  • org.javatuples.Tuple

  • Object

示例

讓我們看看五元組類在實際中的應用。在這裡,我們將瞭解如何使用各種方法。

C:\>JavaTuples 中建立一個名為 TupleTester 的 Java 類檔案。

檔案:TupleTester.java

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.List;
import org.javatuples.Quartet;
import org.javatuples.Quintet;
import org.javatuples.Sextet;
import org.javatuples.Triplet;

public class TupleTester {
   public static void main(String args[]){
      Quintet<Integer, Integer, Integer, Integer, Integer> quintet 
         = Quintet.with(5, 6, 7,8,9);
      System.out.println(quintet);
      boolean isPresent = quintet.contains(5);
      System.out.println("5 is present: " + isPresent);
      List<Integer> list = new ArrayList<>();
      list.add(1);
      list.add(2);
      list.add(3);
      list.add(4);
      list.add(5);
      Sextet<Integer, Integer, Integer, Integer, Integer, String> sextet 
         = quintet.add("Test");
      System.out.println(sextet);
      Integer value = quintet.getValue0();
      System.out.println(value);
      Quartet<Integer, Integer, Integer, Integer> quartet = quintet.removeFrom0();
      System.out.println(quartet);
      Quintet<Integer, Integer, Integer, Integer, Integer> quintet1 
         = Quintet.fromCollection(list);   
      System.out.println(quintet1);
   }
}

驗證結果

使用 javac 編譯器編譯類,如下所示:

C:\JavaTuples>javac -cp javatuples-1.2.jar ./com/tutorialspoint/TupleTester.java

現在執行 TupleTester 以檢視結果:

C:\JavaTuples>java  -cp .;javatuples-1.2.jar com.tutorialspoint.TupleTester

輸出

驗證輸出

[5, 6, 7, 8, 9]
5 is present: true
[5, 6, 7, 8, 9, Test]
5
[6, 7, 8, 9]
[1, 2, 3, 4, 5]
廣告