Class ReverseComparator<E>
- java.lang.Object
-
- org.apache.commons.collections4.comparators.ReverseComparator<E>
-
- Type Parameters:
E
- the type of objects compared by this comparator
- All Implemented Interfaces:
java.io.Serializable
,java.util.Comparator<E>
public class ReverseComparator<E> extends java.lang.Object implements java.util.Comparator<E>, java.io.Serializable
Reverses the order of another comparator by reversing the arguments to itscompare
method.- Since:
- 2.0
- See Also:
Collections.reverseOrder()
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ReverseComparator()
Creates a comparator that compares objects based on the inverse of their natural ordering.ReverseComparator(java.util.Comparator<? super E> comparator)
Creates a comparator that inverts the comparison of the given comparator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(E obj1, E obj2)
Compares two objects in reverse order.boolean
equals(java.lang.Object object)
Returnstrue
iff that Object is is aComparator
whose ordering is known to be equivalent to mine.int
hashCode()
Implement a hash code for this comparator that is consistent withequals
.
-
-
-
Constructor Detail
-
ReverseComparator
public ReverseComparator()
Creates a comparator that compares objects based on the inverse of their natural ordering. Using this Constructor will create a ReverseComparator that is functionally identical to the Comparator returned by java.util.Collections.reverseOrder().- See Also:
Collections.reverseOrder()
-
ReverseComparator
public ReverseComparator(java.util.Comparator<? super E> comparator)
Creates a comparator that inverts the comparison of the given comparator. If you pass innull
, the ReverseComparator defaults to reversing the natural order, as perCollections.reverseOrder()
.- Parameters:
comparator
- Comparator to reverse
-
-
Method Detail
-
compare
public int compare(E obj1, E obj2)
Compares two objects in reverse order.- Specified by:
compare
in interfacejava.util.Comparator<E>
- Parameters:
obj1
- the first object to compareobj2
- the second object to compare- Returns:
- negative if obj1 is less, positive if greater, zero if equal
-
hashCode
public int hashCode()
Implement a hash code for this comparator that is consistent withequals
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- a suitable hash code
- Since:
- 3.0
-
equals
public boolean equals(java.lang.Object object)
Returnstrue
iff that Object is is aComparator
whose ordering is known to be equivalent to mine.This implementation returns
true
iffobject.
equalsgetClass()
this.getClass()
, and the underlying comparators are equal. Subclasses may want to override this behavior to remain consistent with theequals
contract.- Specified by:
equals
in interfacejava.util.Comparator<E>
- Overrides:
equals
in classjava.lang.Object
- Parameters:
object
- the object to compare to- Returns:
- true if equal
- Since:
- 3.0
-
-