org.apache.commons.collections.comparators

Class ReverseComparator

public class ReverseComparator extends Object implements Comparator, Serializable

Reverses the order of another comparator by reversing the arguments to its {@link #compare(Object, Object) compare} method.

Since: Commons Collections 2.0

Version: $Revision: 1.20 $ $Date: 2004/05/16 11:49:24 $

Author: Henri Yandell Michael A. Smith

See Also: java.util.Collections#reverseOrder()

Constructor Summary
ReverseComparator()
Creates a comparator that compares objects based on the inverse of their natural ordering.
ReverseComparator(Comparator comparator)
Creates a comparator that inverts the comparison of the given comparator.
Method Summary
intcompare(Object obj1, Object obj2)
Compares two objects in reverse order.
booleanequals(Object object)
Returns true iff that Object is is a {@link Comparator} whose ordering is known to be equivalent to mine.
inthashCode()
Implement a hash code for this comparator that is consistent with {@link #equals(Object) equals}.

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: java.util.Collections#reverseOrder()

ReverseComparator

public ReverseComparator(Comparator 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 {@link java.util.Collections#reverseOrder()}.

Parameters: comparator Comparator to reverse

Method Detail

compare

public int compare(Object obj1, Object obj2)
Compares two objects in reverse order.

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 is a {@link Comparator} whose ordering is known to be equivalent to mine.

This implementation returns true iff object.{@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 {@link Comparator#equals(Object) equals} contract.

Parameters: object the object to compare to

Returns: true if equal

Since: Commons Collections 3.0

hashCode

public int hashCode()
Implement a hash code for this comparator that is consistent with {@link #equals(Object) equals}.

Returns: a suitable hash code

Since: Commons Collections 3.0

Copyright © 2001-2008 Apache Software Foundation. All Rights Reserved.