Class ComparatorUtils
- java.lang.Object
-
- org.apache.commons.collections.ComparatorUtils
-
public class ComparatorUtils extends Object
Provides convenient static utility methods forComparator
objects.Most of the functionality in this class can also be found in the
comparators
package. This class merely provides a convenient central place if you have use for more than one class in thecomparators
subpackage.- Since:
- Commons Collections 2.1
- Version:
- $Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
- Author:
- Paul Jack, Stephen Colebourne
-
-
Field Summary
Fields Modifier and Type Field Description static Comparator
NATURAL_COMPARATOR
Comparator for natural sort order.
-
Constructor Summary
Constructors Constructor Description ComparatorUtils()
ComparatorUtils should not normally be instantiated.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Comparator
booleanComparator(boolean trueFirst)
Gets a Comparator that can sort Boolean objects.static Comparator
chainedComparator(Collection comparators)
Gets a comparator that compares using a collection ofComparator
s, applied in (default iterator) sequence until one returns not equal or the collection is exhausted.static Comparator
chainedComparator(Comparator[] comparators)
Gets a comparator that compares using an array ofComparator
s, applied in sequence until one returns not equal or the array is exhausted.static Comparator
chainedComparator(Comparator comparator1, Comparator comparator2)
Gets a comparator that compares using twoComparator
s.static Object
max(Object o1, Object o2, Comparator comparator)
Returns the larger of the given objects according to the given comparator, returning the second object if the comparator returns equal.static Object
min(Object o1, Object o2, Comparator comparator)
Returns the smaller of the given objects according to the given comparator, returning the second object if the comparator returns equal.static Comparator
naturalComparator()
Gets a comparator that uses the natural order of the objects.static Comparator
nullHighComparator(Comparator comparator)
Gets a Comparator that controls the comparison ofnull
values.static Comparator
nullLowComparator(Comparator comparator)
Gets a Comparator that controls the comparison ofnull
values.static Comparator
reversedComparator(Comparator comparator)
Gets a comparator that reverses the order of the given comparator.static Comparator
transformedComparator(Comparator comparator, Transformer transformer)
Gets a Comparator that passes transformed objects to the given comparator.
-
-
-
Field Detail
-
NATURAL_COMPARATOR
public static final Comparator NATURAL_COMPARATOR
Comparator for natural sort order.- See Also:
ComparableComparator.getInstance()
-
-
Method Detail
-
naturalComparator
public static Comparator naturalComparator()
Gets a comparator that uses the natural order of the objects.- Returns:
- a comparator which uses natural order
-
chainedComparator
public static Comparator chainedComparator(Comparator comparator1, Comparator comparator2)
Gets a comparator that compares using twoComparator
s.The second comparator is used if the first comparator returns equal.
- Parameters:
comparator1
- the first comparator to use, not nullcomparator2
- the first comparator to use, not null- Returns:
- a
ComparatorChain
formed from the two comparators - Throws:
NullPointerException
- if either comparator is null- See Also:
ComparatorChain
-
chainedComparator
public static Comparator chainedComparator(Comparator[] comparators)
Gets a comparator that compares using an array ofComparator
s, applied in sequence until one returns not equal or the array is exhausted.- Parameters:
comparators
- the comparators to use, not null or empty or containing nulls- Returns:
- a
ComparatorChain
formed from the input comparators - Throws:
NullPointerException
- if comparators array is null or contains a null- See Also:
ComparatorChain
-
chainedComparator
public static Comparator chainedComparator(Collection comparators)
Gets a comparator that compares using a collection ofComparator
s, applied in (default iterator) sequence until one returns not equal or the collection is exhausted.- Parameters:
comparators
- the comparators to use, not null or empty or containing nulls- Returns:
- a
ComparatorChain
formed from the input comparators - Throws:
NullPointerException
- if comparators collection is null or contains a nullClassCastException
- if the comparators collection contains the wrong object type- See Also:
ComparatorChain
-
reversedComparator
public static Comparator reversedComparator(Comparator comparator)
Gets a comparator that reverses the order of the given comparator.- Parameters:
comparator
- the comparator to reverse- Returns:
- a comparator that reverses the order of the input comparator
- See Also:
ReverseComparator
-
booleanComparator
public static Comparator booleanComparator(boolean trueFirst)
Gets a Comparator that can sort Boolean objects.The parameter specifies whether true or false is sorted first.
The comparator throws NullPointerException if a null value is compared.
-
nullLowComparator
public static Comparator nullLowComparator(Comparator comparator)
Gets a Comparator that controls the comparison ofnull
values.The returned comparator will consider a null value to be less than any nonnull value, and equal to any other null value. Two nonnull values will be evaluated with the given comparator.
- Parameters:
comparator
- the comparator that wants to allow nulls- Returns:
- a version of that comparator that allows nulls
- See Also:
NullComparator
-
nullHighComparator
public static Comparator nullHighComparator(Comparator comparator)
Gets a Comparator that controls the comparison ofnull
values.The returned comparator will consider a null value to be greater than any nonnull value, and equal to any other null value. Two nonnull values will be evaluated with the given comparator.
- Parameters:
comparator
- the comparator that wants to allow nulls- Returns:
- a version of that comparator that allows nulls
- See Also:
NullComparator
-
transformedComparator
public static Comparator transformedComparator(Comparator comparator, Transformer transformer)
Gets a Comparator that passes transformed objects to the given comparator.Objects passed to the returned comparator will first be transformed by the given transformer before they are compared by the given comparator.
- Parameters:
comparator
- the sort order to usetransformer
- the transformer to use- Returns:
- a comparator that transforms its input objects before comparing them
- See Also:
TransformingComparator
-
min
public static Object min(Object o1, Object o2, Comparator comparator)
Returns the smaller of the given objects according to the given comparator, returning the second object if the comparator returns equal.- Parameters:
o1
- the first object to compareo2
- the second object to comparecomparator
- the sort order to use- Returns:
- the smaller of the two objects
-
max
public static Object max(Object o1, Object o2, Comparator comparator)
Returns the larger of the given objects according to the given comparator, returning the second object if the comparator returns equal.- Parameters:
o1
- the first object to compareo2
- the second object to comparecomparator
- the sort order to use- Returns:
- the larger of the two objects
-
-