当前位置: 首页 > 教程 > JavaTuples >

JavaTuples Octet类

精华
小牛编辑
206浏览
2023-03-14

1 什么是JavaTuples Octet类

org.javatuples.Octet 类表示包含八个元素的元组。

2 JavaTuples Octet类的语法

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

3 JavaTuples Octet类的构造方法

构造方法 描述
Octet(A value0, B value1, C value2, D value3, E value4, F value5, G value6, H value7) 这将创建一个Octet元组。

4 JavaTuples Octet类的方法

方法 描述
Octet add(Unit tuple)

此方法返回一个 Octet 元组。

类似地,添加元组的其他方法也是可用的,例如 add(Pair tuple) 返回 Sextet 和 upto add(Sextet tuple) 返回 Decade 元组。

Octet add(X0 value)

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

类似地,其他添加值的方法也是可用的,例如 add(X0 value0, X1 value1) 返回六位组等等,直到带有六个参数的 add() 。

Octet addAt0(Unit value)

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

类似地,其他添加元组的方法也是可用的,例如 addAt0(Pair value) 返回 Sextet 等等直到 addAt0(Sextet)。其他类似的方法是 addAt1(Unit value),它在 index0 处添加一个单位,并具有与 addAt2(Sextet) 类似的方法。

Octet addAt0(X0 value)

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

类似地,其他添加值的方法也是可用的,例如 addAt0(X0 value0, X1 value1) 返回六位组等等,直到带有六个参数的 addAt0()。其他类似的方法是 addAt1(X0 value),它在 index0 处添加一个值,并且具有与 addAt2() 类似的方法,带有六个参数。

static <X> Octet<X,X,X,X,X,X,X,X> fromArray(X[] array) 从数组创建元组。
static <X> Octet<X,X,X,X,X,X,X,X> fromCollection(Collection<X> collection) 从集合创建元组。
static <X>Octet<X,X,X,X,X,X,X,X> fromIterable(Iterable<X> iterable) 从迭代器创建元组。
static <X> Octet<X,X,X,X,X,X,X,X> fromIterable(Iterable<X> iterable, int index) 从迭代器对象创建元组,从指定索引开始。
int getSize() 返回元组的大小。
A getValue0()

返回索引 0 处元组的值。

同样,从 getValue1() 到 getValue3() 返回索引 1 处的值,依此类推。

Octet<X,X,X,X,X,X,X,X> removeFrom0()

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

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

<X> Octet<X,X,X,X,X,X,X,X> setAt0(X value) 将元组的值设置在索引 0 处。
static <A> Octet<A,B,C,D,E,F,G,H> with(A value0, B value1, C value2, D value3, E value4, F value5, G value6, H value7) 使用给定值创建元组。

5 JavaTuples Octet类的例子

让我们看一个简单的JavaTuples Octet类示例。

package cn.xnip;

import org.javatuples.Ennead;
import org.javatuples.Octet;
import org.javatuples.Septet;

import java.util.ArrayList;
import java.util.List;

public class TupleTester {
   public static void main(String args[]){
      Octet<Integer, Integer, Integer, Integer, Integer,Integer,Integer,Integer>
      octet = Octet.with(5, 6, 7,8,9,10,11,12);
      System.out.println(octet);
      boolean isPresent = octet.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);
      Ennead<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, String>
      ennead = octet.add("Test");
      System.out.println(ennead);
      Integer value = octet.getValue0();
      System.out.println(value);
      Septet<Integer, Integer, Integer, Integer,Integer, Integer,Integer>
      septet = octet.removeFrom0();
      System.out.println(septet);
      Octet<Integer, Integer, Integer, Integer, Integer,Integer, Integer, Integer> 
      octet1 = Octet.fromCollection(list);   
      System.out.println(octet1);
   }
}

输出结果为: