L
- the left element typeR
- the right element typepublic abstract class Pair<L,R> extends Object implements Map.Entry<L,R>, Comparable<Pair<L,R>>, Serializable
A pair consisting of two elements.
This class is an abstract implementation defining the basic API.
It refers to the elements as 'left' and 'right'. It also implements the
Map.Entry
interface where the key is 'left' and the value is 'right'.
Subclass implementations may be mutable or immutable. However, there is no restriction on the type of the stored objects that may be stored. If mutable objects are stored in the pair, then the pair itself effectively becomes mutable.
Constructor and Description |
---|
Pair() |
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Pair<L,R> other)
Compares the pair based on the left element followed by the right element.
|
boolean |
equals(Object obj)
Compares this pair to another based on the two elements.
|
L |
getKey()
Gets the key from this pair.
|
abstract L |
getLeft()
Gets the left element from this pair.
|
abstract R |
getRight()
Gets the right element from this pair.
|
R |
getValue()
Gets the value from this pair.
|
int |
hashCode()
Returns a suitable hash code.
|
static <L,R> Pair<L,R> |
of(L left,
R right)
Obtains an immutable pair of two objects inferring the generic types.
|
String |
toString()
Returns a String representation of this pair using the format
($left,$right) . |
String |
toString(String format)
Formats the receiver using the given format.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
comparingByKey, comparingByKey, comparingByValue, comparingByValue, setValue
public Pair()
public static <L,R> Pair<L,R> of(L left, R right)
Obtains an immutable pair of two objects inferring the generic types.
This factory allows the pair to be created using inference to obtain the generic types.
L
- the left element typeR
- the right element typeleft
- the left element, may be nullright
- the right element, may be nullpublic abstract L getLeft()
Gets the left element from this pair.
When treated as a key-value pair, this is the key.
public abstract R getRight()
Gets the right element from this pair.
When treated as a key-value pair, this is the value.
public final L getKey()
Gets the key from this pair.
This method implements the Map.Entry
interface returning the
left element as the key.
public R getValue()
Gets the value from this pair.
This method implements the Map.Entry
interface returning the
right element as the value.
public int compareTo(Pair<L,R> other)
Compares the pair based on the left element followed by the right element.
The types must be Comparable
.
compareTo
in interface Comparable<Pair<L,R>>
other
- the other pair, not nullpublic int hashCode()
Returns a suitable hash code.
The hash code follows the definition in Map.Entry
.
public String toString()
Returns a String representation of this pair using the format ($left,$right)
.
public String toString(String format)
Formats the receiver using the given format.
This uses Formattable
to perform the formatting. Two variables may
be used to embed the left and right elements. Use %1$s
for the left
element (key) and %2$s
for the right element (value).
The default format used by toString()
is (%1$s,%2$s)
.
format
- the format string, optionally containing %1$s
and %2$s
, not nullCopyright © 2001–2019 The Apache Software Foundation. All rights reserved.