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:
Serializable, Comparator<E>

public class ReverseComparator<E> extends Object implements Comparator<E>, Serializable
Reverses the order of another comparator by reversing the arguments to its compare method.
Since:
2.0
See Also:
  • Constructor Details

    • 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:
    • ReverseComparator

      public ReverseComparator(Comparator<? super E> comparator)
      Creates a comparator that inverts the comparison of the given comparator. If you pass in null, the ReverseComparator defaults to reversing the natural order, as per Collections.reverseOrder().
      Parameters:
      comparator - Comparator to reverse
  • Method Details

    • compare

      public int compare(E obj1, E obj2)
      Compares two objects in reverse order.
      Specified by:
      compare in interface Comparator<E>
      Parameters:
      obj1 - the first object to compare
      obj2 - the second object to compare
      Returns:
      negative if obj1 is less, positive if greater, zero if equal
    • equals

      public boolean equals(Object object)
      Returns true iff that Object is a Comparator whose ordering is known to be equivalent to mine.

      This implementation returns true iff <i>object</i>.{@link Object#getClass() getClass()} equals this.getClass(), and the underlying comparators are equal. Subclasses may want to override this behavior to remain consistent with the equals contract.

      Specified by:
      equals in interface Comparator<E>
      Overrides:
      equals in class Object
      Parameters:
      object - the object to compare to
      Returns:
      true if equal
      Since:
      3.0
    • hashCode

      public int hashCode()
      Implement a hash code for this comparator that is consistent with equals.
      Overrides:
      hashCode in class Object
      Returns:
      a suitable hash code
      Since:
      3.0