org.apache.commons.collections.comparators

Class ComparableComparator

public class ComparableComparator extends Object implements Comparator, Serializable

A Comparator Comparator that compares Comparable Comparable objects.

This Comparator is useful, for example, for enforcing the natural order in custom implementations of SortedSet and SortedMap.

Note: In the 2.0 and 2.1 releases of Commons Collections, this class would throw a ClassCastException if either of the arguments to compare were null, not Comparable Comparable, or for which Comparable#compareTo(Object) compareTo gave inconsistent results. This is no longer the case. See compare for details.

Since: Commons Collections 2.0

Version: $Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $

Author: Henri Yandell

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

Constructor Summary
ComparableComparator()
Constructor whose use should be avoided.
Method Summary
intcompare(Object obj1, Object obj2)
Compare the two Comparable Comparable arguments.
booleanequals(Object object)
Returns true iff that Object is is a Comparator Comparator whose ordering is known to be equivalent to mine.
static ComparableComparatorgetInstance()
Gets the singleton instance of a ComparableComparator.
inthashCode()
Implement a hash code for this comparator that is consistent with equals.

Constructor Detail

ComparableComparator

public ComparableComparator()
Constructor whose use should be avoided.

Please use the getInstance method whenever possible.

Method Detail

compare

public int compare(Object obj1, Object obj2)
Compare the two Comparable Comparable arguments. This method is equivalent to:
((Comparable)obj1).compareTo(obj2)

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

Throws: NullPointerException when obj1 is null, or when ((Comparable)obj1).compareTo(obj2) does ClassCastException when obj1 is not a Comparable, or when ((Comparable)obj1).compareTo(obj2) does

equals

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

This implementation returns true iff object.Object#getClass() getClass() equals this.getClass(). Subclasses may want to override this behavior to remain consistent with the Comparator#equals(Object) contract.

Parameters: object the object to compare with

Returns: true if equal

Since: Commons Collections 3.0

getInstance

public static ComparableComparator getInstance()
Gets the singleton instance of a ComparableComparator.

Developers are encouraged to use the comparator returned from this method instead of constructing a new instance to reduce allocation and GC overhead when multiple comparable comparators may be used in the same VM.

Returns: the singleton ComparableComparator

hashCode

public int hashCode()
Implement a hash code for this comparator that is consistent with equals.

Returns: a hash code for this comparator.

Since: Commons Collections 3.0

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