JavaTuples - 九元组类



简介

org.javatuples.Ennead 类表示一个包含九个元素的元组。

类声明

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

public final class Ennead<A, B, C, D, E, F, G, H, I>
   extends Tuple
      implements IValue0<A>, IValue1<B>, 
         IValue2<C>, IValue3<D>, IValue4<E>,
            IValue5<F>, IValue6<G>, IValue7<H>,
               IValue8<I>

类构造函数

序号 构造函数及描述
1

Ennead(A value0, B value1, C value2, D value3, E value4, F value5, G value6, H value7, I value8)

这将创建一个 Ennead 元组。

类方法

类似地,setAt1() 到 setAt8() 设置索引 1 处的值,依此类推。

序号 方法及描述
1

Decade add(Unit tuple)

此方法返回一个十元组。

2

Decade add(X0 value)

此方法将一个值添加到元组并返回一个十元组。

3

Decade addAt0(Unit value)

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

其他类似的方法是 addAt1(Unit value),它在索引 0 处添加一个单元,并且还有类似的方法,直到 addAt8(Unit)。

4

Decade addAt0(X0 value)

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

其他类似的方法是 addAt1(X0 value),它在索引 0 处添加一个值,并且还有类似的方法,直到 addAt8(),这些方法都带有一个参数。

5

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

从数组创建元组。

6

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

从集合创建元组。

7

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

从可迭代对象创建元组。

8

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

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

9

int getSize()

返回元组的大小。

10

A getValue0()

返回元组在索引 0 处的值。

类似地,getValue1() 到 getValue8() 返回索引 1 处的值,依此类推。

11

Octet<B,C,D,E,F,G,H,I> removeFrom0()

删除元组在索引 0 处的值后返回该元组。

类似地,removeFrom1() 到 removeFrom8() 删除元组在索引 1 处的值后返回该元组,依此类推。

12

<X> Ennead<X,B,C,D,E,F,G,H,I> setAt0(X value)

设置元组在索引 0 处的值。

13

static <A> Ennead<A,B,C,D,E,F,G,H,I> with(A value0, B value1, C value2, D value3, E value4, F value5, G value6, H value7, I value8)

使用给定值创建元组。

继承的方法

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

  • org.javatuples.Tuple

  • Object

示例

让我们看看 Ennead 类在实际中的应用。在这里,我们将了解如何使用各种方法。

C:\>JavaTuples 中创建一个名为 TupleTester 的 Java 类文件。

文件:TupleTester.java

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.List;
import org.javatuples.Decade;
import org.javatuples.Ennead;
import org.javatuples.Octet;
public class TupleTester {
   public static void main(String args[]){
      Ennead<Integer, Integer, Integer, Integer, Integer,
         Integer,Integer,Integer, Integer> 
      ennead = Ennead.with(5, 6, 7,8,9,10,11,12,13);
      System.out.println(ennead);
      boolean isPresent = ennead.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);
      list.add(6);
      list.add(7);
      list.add(8);
      list.add(9);
      Decade<Integer, Integer, Integer, Integer, Integer, 
         Integer, Integer, Integer, Integer, String> decade = ennead.add("Test");
      System.out.println(decade);
      Integer value = ennead.getValue0();
      System.out.println(value);
      Octet<Integer, Integer, Integer, Integer,Integer, 
         Integer,Integer, Integer> octet = ennead.removeFrom0();
      System.out.println(octet);
      Ennead<Integer, Integer, Integer, Integer, Integer,
         Integer, Integer, Integer,Integer> ennead1 = Ennead.fromCollection(list);   
      System.out.println(ennead1);
   }
}

验证结果

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