org.apache.commons.collections4.comparators

## Class ReverseComparator<E>

- java.lang.Object
- - org.apache.commons.collections4.comparators.ReverseComparator<E>

- 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
  Version:
    $Id: ReverseComparator.java 1533984 2013-10-20 21:12:51Z tn $
  See Also:
    `Collections.reverseOrder()`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReverseComparator()` Creates a comparator that compares objects based on the inverse of their natural ordering.
    `ReverseComparator(Comparator<? super E> comparator)` Creates a comparator that inverts the comparison of the given comparator.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compare(E obj1, E obj2)` Compares two objects in reverse order.
    `boolean` | `equals(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

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### 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(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 `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 `Object`
      Returns:
        a suitable hash code
      Since:
        3.0

    - #### equals

          public boolean equals(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 `Comparator<E>`
      Overrides:
        `equals` in class `Object`
      Parameters:
        `object` - the object to compare to
      Returns:
        true if equal
      Since:
        3.0

Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.