Class 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 its compare 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)
      Returns true iff that Object is a Comparator whose ordering is known to be equivalent to mine.
      int hashCode()
      Implement a hash code for this comparator that is consistent with equals.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • 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 in null, the ReverseComparator defaults to reversing the natural order, as per Collections.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 interface java.util.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​(java.lang.Object object)
        Returns true iff that Object is a Comparator whose ordering is known to be equivalent to mine.

        This implementation returns true iff <em>object</em>.{@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 java.util.Comparator<E>
        Overrides:
        equals in class java.lang.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 java.lang.Object
        Returns:
        a suitable hash code
        Since:
        3.0