public class Pair<F,S> extends Object implements Serializable, Comparable<Pair<F,S>>
Modifier and Type | Class and Description |
---|---|
static class |
Pair.DefaultLexicographicPairComparator<F extends Comparable<F>,S extends Comparable<S>> |
static class |
Pair.FirstComparator<S extends Comparable<? super S>,T> |
static class |
Pair.LexicographicPairComparator<F,S> |
static class |
Pair.ReverseFirstComparator<S extends Comparable<? super S>,T> |
static class |
Pair.ReverseSecondComparator<S,T extends Comparable<? super T>> |
static class |
Pair.SecondComparator<S,T extends Comparable<? super T>> |
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Pair<F,S> o)
Compares this object with the specified object for order.
|
boolean |
equals(Object o) |
F |
getFirst() |
S |
getSecond() |
int |
hashCode() |
static <S,T> Pair<S,T> |
makePair(S first,
T second) |
static <S,T> Pair<S,T> |
newPair(S first,
T second) |
Pair<S,F> |
reverse() |
void |
setFirst(F pFirst) |
void |
setSecond(S pSecond) |
String |
toString() |
public F getFirst()
public S getSecond()
public void setFirst(F pFirst)
public void setSecond(S pSecond)
public int compareTo(Pair<F,S> o)
The implementor must ensure sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception iff y.compareTo(x) throws an exception.)
The implementor must also ensure that the relation is transitive: (x.compareTo(y)>0 && y.compareTo(z)>0) implies x.compareTo(z)>0.
Finally, the implementor must ensure that x.compareTo(y)==0 implies that sgn(x.compareTo(z)) == sgn(y.compareTo(z)), for all z.
It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."
In the foregoing description, the notation sgn(expression) designates the mathematical signum function, which is defined to return one of -1, 0, or 1 according to whether the value of expression is negative, zero or positive.
compareTo
in interface Comparable<Pair<F,S>>
o
- the object to be compared.NullPointerException
- if the specified object is nullClassCastException
- if the specified object's type prevents it
from being compared to this object.public static <S,T> Pair<S,T> newPair(S first, T second)
public static <S,T> Pair<S,T> makePair(S first, T second)
Copyright © 2016. All Rights Reserved.