📜  JavaTuples-转换

📅  最后修改于: 2020-11-15 03:25:59             🧑  作者: Mango


元组到列表/数组

可以将元组转换为List / Array,但要以安全性为代价,而转换后的list的类型为List / Object []。

List list = triplet.toList();
Object[] array = triplet.toArray();

集合/数组到元组

可以使用fromCollection()方法将集合转换为元组,并且可以使用fromArray()方法将数组转换为元组。

Pair pair = Pair.fromCollection(list);
Quartet quartet = Quartet.fromArray(array); 

如果数组/集合的大小与元组的大小不同,则将发生IllegalArgumentException。

Exception in thread "main" java.lang.IllegalArgumentException: 
Array must have exactly 4 elements in order to create a Quartet. Size is 5
   at ...    

让我们看看JavaTuples的作用。在这里,我们将看到如何将元组转换为列表/数组,反之亦然。

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

文件:TupleTester.java

package com.tutorialspoint;
import java.util.List;
import org.javatuples.Quartet;
import org.javatuples.Triplet;
public class TupleTester {
   public static void main(String args[]){
      Triplet triplet = Triplet.with(
         "Test1", Integer.valueOf(5), "Test2"
      );
      List list = triplet.toList();
      Object[] array = triplet.toArray();
      System.out.println("Triplet:" + triplet);
      System.out.println("List: " + list);  
      System.out.println();
      for(Object object: array) {
         System.out.print(object + " " );
      }
      System.out.println();
      String[] strArray = new String[] {"a", "b" , "c" , "d"};
      Quartet quartet = Quartet.fromArray(strArray);
      System.out.println("Quartet:" + quartet);      
   }
}

验证结果

使用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

输出

验证输出

Triplet:[Test1, 5, Test2]
List: [Test1, 5, Test2]

Test1 5 Test2 
Quartet:[a, b, c, d]