Introduction to Tuples in Java
A tuple is considered as a collection of different type of objects which are ordered. Even though the objects may or may not be related to each other, they collectively have a specific meaning. In Java, there is no inbuilt data structure that is supported by tuples. So, a class will be created whenever any requirement occurs. In addition to that, this functionality can be used in Lists as well as arrays. However, data of different data types cannot hold on to this.
Syntax
Below is the syntax of Tuples.
Tuple from the constructor:
Nthtuple<t1,t2,. . tn> nthtuple= new Nthtuple<t1,t2,. . . . . . . tn>(v1, v2, . . . . , vn)
Tuple from with() method:
Nthtuple<t1,t2,. . tn> nthtuple= new Nthtuple.with(v1, v2, . . . . , vn)
Tuple from other collections:
Nthtuple<t1,t2,. tn> nthtuple=new Nthtuple.fromCollection(collectionWith nvalues);
Here,
- t1, t2, … tn are type 1, type 2,… ., type n
- v1, v2, . . ., vn are the value 1, value 2, . . . , value n
- n is the number of parameters and number of values
Characteristics of Tuples in Java
Following are the main characteristics of Tuples in Java
- Typesafe
- Iterable
- Implement toString()
- Comparable (Tuple implements Comparable<Tuple>)
- Immutable
- Serializable
- Implement equals() method and hashCode().
How do Tuples work in Java?
Let us take an example of the tuple.
["Anna", "Computer Science", 23]
Here, you can see that each object of this tuple is of different data types. But, when we collectively consider, it can be identified as a detail of a student Anna in the Computer Science department which is 23 years old.
Size of Tuple | Name | Sample |
One Element | Unit | Unit<1> |
Two Elements | Pair | Pair<1,2> |
Three Elements | Triplet | Triplet<1,2,3> |
Four Elements | Quartet | Quartet<1,2,3,4> |
Five Elements | Quintet | Quintet<1,2,3,4,5> |
Six Elements | Sextet | Sextet<1,2,3,4,5,6> |
Seven Elements | Septet | Septet<1,2,3,4,5,6,7> |
Eight Elements | Octet | Octet<1,2,3,4,5,6,7,8> |
Nine Elements | Ennead | Ennead<1,2,3,4,5,6,7,8,9> |
Ten Elements | Decade | Decade<1,2,3,4,5,6,7,8,9,10> |
Examples to Implement Tuples in Java
Below are the examples mentioned:
Now, let us see some practical examples of tuples.
Example #1
Java program to create a pair tuple of string type
Code:
import org.javatuples.Pair;
public class TupExample {
public static void main(String[] args) {
//create a pair tuple from constructor
Pair<String,String>pobj = new Pair<String,String>("Happy", "Sad");
//print the tuples
System.out.println("Emotions are: " + pobj);
}
}
Output:
Explanation: In this program, a pair tuple is created of string type. For that, the package org.javatuples.Pair has to be imported first. Once it is created, the objects of the tuple can be printed.
Example #2
Java program to create a pair tuple of different data types
Code:
import org.javatuples.Pair;
public class TupExample {
public static void main(String[] args) {
//create a pair tuple from constructor
Pair<String,Integer>pobj = new Pair<String,Integer>("Anna", 23);
//print the tuples
System.out.println("Student is: " + pobj);
}
}
Output:
Explanation: In this program, a pair tuple is created of two different data types, string and integer. Here also, the package org.javatuples.Pair has to be imported first. Once it is created, the objects of the tuple can be printed.
Example #3
Java program to print a pair tuple using with () method.
Code:
import org.javatuples.Pair;
public class TupExample {
public static void main(String[] args) {
//create a pair tuple from constructor
Pair<String,Integer>pobj = Pair.with("Anna", 23);
//print the tuples
System.out.println("Student is: " + pobj);
}
}
Output:
Explanation: Unlike the above programs, a pair tuple is created using with() method in this program. Here also, the package org.javatuples.Pair has to be imported first. Once it is created, the objects of the tuple can be printed.
Example #4
Java program to create an octet tuple of integer type
Code:
import org.javatuples.Octet;
public class TupExample {
public static void main(String[] args) {
//create an octet tuple from constructor
Octet<Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer>pobj = Octet.with(12, 23, 34, 45, 56, 67, 78, 89);
//print the tuples
System.out.println("Numbers are: " + pobj);
}
}
Output:
Explanation: In this program, an octet tuple is created using with () method. Here, the package org.javatuples.Octet has to be imported first. Once it is created, the objects of the tuple can be printed.
Example #5
Java program to create decade tuple of integer type using fromCollection()
Code:
import java.util.ArrayList;
import java.util.List;
import org.javatuples.Decade;
public class TupExample {
public static void main(String[] args) {
// Create a li of 10 elements
List<Integer>li = new ArrayList<Integer>();
li.add(12);
li.add(23);
li.add(34);
li.add(45);
li.add(56);
li.add(67);
li.add(78);
li.add(89);
li.add(90);
li.add(101);
Decade<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer>dobj
= Decade.fromCollection(li);
Integer[] a = { 12, 23, 34, 45, 56, 67, 78, 89, 90, 101 };
Decade<Integer, Integer, Integer, Integer, Integer, Integer, Integer,
Integer, Integer, Integer>dnew = Decade.fromArray(a);
System.out.println("Numbers are: " +dobj);
System.out.println("Numbers are: " +dnew);
}
}
Output:
Explanation: In this program, a decade tuple is created using fromCollection () method. For that, first, a list has to be created with 10 elements. These 10 elements will later gets printed using the fromCollection() method. Here, the package org.javatuples. A decade has to be imported first. Only after importing this, the objects of the tuple can be printed.
Example #6
Java program to create an octet tuple using with() and fromCollection() method.
Code:
import java.util.ArrayList;
import java.util.List;
import org.javatuples.Octet;
public class TupExample {
public static void main(String[] args) {
//create an octet tuple from constructor
Octet<Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer>pobj = Octet.with(12, 23, 34, 45, 56, 67, 78, 89);
//print the tuples
System.out.println("Numbers using with() method are: " + pobj);
// Create a list of 8 elements
List<Integer>li = new ArrayList<Integer>();
li.add(12);
li.add(23);
li.add(34);
li.add(45);
li.add(56);
li.add(67);
li.add(78);
li.add(89);
Octet<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer>dobj
= Octet.fromCollection(li);
System.out.println("Numbers using the fromCollection() method are: " +dobj);
}
}
Output:
Explanation: In this program, an octet tuple is created using fromCollection () and with() method.
Conclusion
A tuple is considered as a collection of different type of ordered objects. In this article, a detailed explanation that contains the syntax, characteristics, working, and examples of Java Tuples is addressed.
Recommended Articles
This is a guide to Tuples in Java. Here we discuss an introduction to Tuples in Java with the main characteristics, working and examples for better understanding. You can also go through our other related articles to learn more –