My Blog

My WordPress Blog

My Blog

My WordPress Blog

Conversion

Tuple to List/Array

A tuple can be converted to List/Array but at cost of type safety and converted list is of type List<Object>/Object[].

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

Collection/Array to Tuple

A collection can be converted to tuple using fromCollection() method and array can be converted to tuple using fromArray() method.

Pair<String, Integer> pair = Pair.fromCollection(list);
Quartet<String,String,String,String> quartet = Quartet.fromArray(array); 

If size of array/collection is different than that of tuple, then IllegalArgumentException will occur.

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

Example

Let’s see JavaTuples in action. Here we’ll see how to convert tuple to list/array and vice versa.

Create a java class file named TupleTester in C:\>JavaTuples.

File: 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&lt;String, Integer, String&gt; triplet = Triplet.with(
     "Test1", Integer.valueOf(5), "Test2"
  );
  List&lt;Object&gt; list = triplet.toList();
  Object&#91;] 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&#91;] strArray = new String&#91;] {"a", "b" , "c" , "d"};
  Quartet&lt;String, String, String, String&gt; quartet = Quartet.fromArray(strArray);
  System.out.println("Quartet:" + quartet);      
} }

Verify the result

Compile the classes using javac compiler as follows −

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

Now run the TupleTester to see the result −

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

Output

Verify the Output

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top