JavaTuples - Quartet 类



介绍

org.javatuples.Quartet 类表示一个包含四个元素的元组。

类声明

以下是org.javatuples.Quartet类的声明:

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

类构造函数

序号 构造函数及描述
1

Quartet(A value0, B value1, C value2, D value3)

这创建一个 Quartet 元组。

类方法

类似地,setAt1()到setAt3()分别设置索引为1及其后的值。

序号 方法及描述
1

Quintet add(Unit tuple)

此方法返回一个 Quintet 元组。

类似地,还有其他添加元组的方法,例如 add(Pair tuple) 返回 Sextet,add(Sextet tuple) 返回 Decade 元组。

2

Quintet add(X0 value)

此方法向元组添加一个值并返回一个 Quintet 元组。

类似地,还有其他添加值的方法,例如 add(X0 value0, X1 value1) 返回 Sextet,以此类推,最多可以添加六个参数。

3

Quintet addAt0(Unit value)

此方法在索引 0 处添加一个 Unit 元组并返回一个 Quintet 元组。

类似地,还有其他添加元组的方法,例如 addAt0(Pair value) 返回 Sextet,以此类推,直到 addAt0(Sextet)。其他类似的方法有 addAt1(Unit value),它在索引 0 处添加一个 Unit,并有类似的方法直到 addAt2(Sextet)。

4

Quintet addAt0(X0 value)

此方法在索引 0 处添加一个值并返回一个 Quintet 元组。

类似地,还有其他添加值的方法,例如 addAt0(X0 value0, X1 value1) 返回 Sextet,以此类推,最多可以添加六个参数。其他类似的方法有 addAt1(X0 value),它在索引 0 处添加一个值,并有类似的方法直到 addAt2(),最多可以添加六个参数。

5

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

从数组创建元组。

6

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

从集合创建元组。

7

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

从可迭代对象创建元组。

8

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

从可迭代对象创建元组,从指定的索引开始。

9

int getSize()

返回元组的大小。

10

A getValue0()

返回元组中索引为 0 的值。

类似地,getValue1()到getValue3()分别返回索引为1及其后的值。

11

Triplet<B,C,D> removeFrom0()

删除索引为 0 的值后返回元组。

类似地,removeFrom1()到removeFrom3()分别删除索引为1及其后的值后返回元组。

12

<X> Quartet<X,B,C,D> setAt0(X value)

设置元组中索引为 0 的值。

13

static <A> Quartet<A,B,C,D> with(A value0, B value1, C value2, D value3)

使用给定的值创建元组。

继承的方法

此类继承自以下类的方法:

  • org.javatuples.Tuple

  • Object

示例

让我们看看 Quartet 类的实际应用。我们将演示如何使用各种方法。

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.Triplet;

public class TupleTester {
   public static void main(String args[]){
      Quartet<Integer, Integer, Integer, Integer> quartet = Quartet.with(
         5, 6, 7,8
      );
      System.out.println(quartet);
      boolean isPresent = quartet.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);
      Quintet<Integer, Integer, Integer, Integer, String> quintet = quartet.add("Test");
      System.out.println(quintet);
      Integer value = quartet.getValue0();
      System.out.println(value);
      Triplet<Integer, Integer, Integer> triplet = quartet.removeFrom0();
      System.out.println(triplet);
      Quartet<Integer, Integer, Integer, Integer> quartet1 = Quartet.fromCollection(list);   
      System.out.println(quartet1);
   }
}

验证结果

使用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]
5 is present: true
[5, 6, 7, 8, Test]
5
[6, 7, 8]
[1, 2, 3, 4]
广告