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 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

        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
      • 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
      • equals

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

        This implementation returns true iff object.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