An immutable triple consists of three Object elements.
Although the implementation is immutable, there is no restriction on the objects that may be stored. If mutable objects are stored in the triple, then the triple effectively becomes mutable.
ImmutableTriple
is defined in the Apache Commons Lang. The package has to be added to the classpath before ImmutableTriple
can be used.
If you use Maven, add the following in the dependencies
section of pom.xml
.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
After you import the dependency above, import the ImmutableTriple
class as follows.
import org.apache.commons.lang3.tuple.ImmutableTriple;
Note: There are no setters in this class, as the data structure is immutable in nature.
The three Object elements in the ImmutableTriple
are named left
, middle
, and right
. So, the objects will be referred to as left
, middle
, and right
for any operations on the data structure.
ImmutableTriple
objectThere are several ways to create an object of ImmutableTriple
.
The constructor of the ImmutableTriple
class accepts the left
, middle
, and right
elements as parameters.
ImmutableTriple<String, String, String> immutableTriple = new ImmutableTriple<>("leftValue", "middleValue", "rightValue");
of()
method:The of(left, middle, right)
can be used to create an object of the ImmutableTriple
class. It accepts the left
, middle
, and right
elements as parameters.
ImmutableTriple<String, String> immutableTriple = ImmutableTriple.of("leftValue", "middleValue", "rightValue");
ImmutableTriple
objectleft
elementThe left
element can be accessed as a property
or using the getLeft()
method.
String leftElement = immutableTriple.left;
// OR
String leftElement = immutableTriple.getLeft();
middle
elementThe middle
element can be accessed as a property
or using the getMiddle()
method.
String middleElement = immutableTriple.middle;
// OR
String middleElement = immutableTriple.getMiddle();
right
elementThe right
element can be accessed as a property
or using the getRight()
method.
String rightElement = immutableTriple.right;
// OR
String rightElement = immutableTriple.getRight();
In the example below, an ImmutableTriple
object is created with the left
, middle
, and right
values. Then, the elements of the object are printed.
import org.apache.commons.lang3.tuple.ImmutableTriple;
public class Main {
public static void main(String args[])
{
ImmutableTriple<String, String, String> immutableTriple = new ImmutableTriple<>("leftValue", "middleValue", "rightValue");
System.out.println("Left Element - " + immutableTriple.getLeft());
System.out.println("Middle Element - " + immutableTriple.getLeft());
System.out.println("Right Element - " + immutableTriple.getRight());
}
}