The add() method in org.javatuples is used to add a value to the existing tuple. Since JavaTuples are immutable, hence adding a value to the existing tuple results in a new tuple with one more value. For example, adding a value to Unit tuple results in the formation of a Pair tuple. This method can be used for any tuple class object of the javatuples library, except the Decade class, as Decade is the highest class available in JavaTuples library. It returns the tuple class object of a class higher than the called class, decided by the number of values in the arguments.
Syntax:
Triplet<String, Integer, Double> triplet = ... ... Quartet<String, Integer, Double, type(s)> quartet = triplet.add(value(s));
Parameters: This method can take n values as parameters where:
- n– represents the number of values based on the TupleClass (Unit, Pair, etc) to be created as return object.
- type– represents the type for value(s) passed as arguments.
- value– represents the value(s) passed as arguments.
Return Value: This method returns the object of TupleClass with combined values of the called tuple class and the values passed as the parameters. The values passed are added after the called tuple class values.
Below programs illustrate the various ways to use add() methods:
Program 1: When the add() method is used with any class from Unit to Ennead, with a single value as parameter:
// Below is a Java program to demonstrate // use of add() method with // single value import java.util.*; import org.javatuples.Unit; import org.javatuples.Pair; class GfG { public static void main(String[] args) { // Using with() method to instantiate unit object Unit<String> unit = Unit.with( "Geeks" ); // Using add() to create Pair Pair<String, String> pair = unit.add( "forGeeks" ); System.out.println(pair); } } |
Output:
[Geeks, forGeeks]
Program 2: When the add() method is used with any class from Unit to Ennead, with a multiple value as parameter:
// Below is a Java program to demonstrate // use of add() method with // multiple value import java.util.*; import org.javatuples.Ennead; import org.javatuples.Decade; class GfG { public static void main(String[] args) { // Using with() method to instantiate ennead object Ennead<String, String, String, String, String, String, String, String, String> ennead = Ennead.with( "Geeks" , "for" , "Geeks" , "A" , "Computer" , "Science" , "Portal" , "for" , "Geeks" ); // Using add() to create Decade Decade<String, String, String, String, String, String, String, String, String, String> decade = ennead.add( "RishabhPrabhu" ); System.out.println(decade); } } |
Output:
[Geeks, for, Geeks, A, Computer, Science, Portal, for, Geeks, RishabhPrabhu]
Program 3: When the add() method is used with any class from Unit to Ennead, with total values contribute to be more than 10, it shows Runtime Exception:
// Below is a Java program to demonstrate // use of add() method import java.util.*; import org.javatuples.Ennead; import org.javatuples.Decade; class GfG { public static void main(String[] args) { // Using with() method to instantiate ennead object Ennead<String, String, String, String, String, String, String, String, String> ennead = Ennead.with( "Geeks" , "for" , "Geeks" , "A" , "Computer" , "Science" , "Portal" , "for" , "Geeks" ); // Using add() to create Decade Decade<String, String, String, String, String, String, String, String, String, String> decade = ennead.add( "Rishabh" , "Prabhu" ); System.out.println(decade); } } |
Output:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: org.javatuples.Ennead.add
Note: Similarly, it can be used with any other JavaTuple Class.