Class ComparatorUtils
- java.lang.Object
 - 
- org.apache.commons.collections4.ComparatorUtils
 
 
- 
public class ComparatorUtils extends java.lang.ObjectProvides convenient static utility methods forComparatorobjects.Most of the functionality in this class can also be found in the
comparatorspackage. This class merely provides a convenient central place if you have use for more than one class in thecomparatorssubpackage.- Since:
 - 2.1
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description static java.util.ComparatorNATURAL_COMPARATORComparator for natural sort order. 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.Comparator<java.lang.Boolean>booleanComparator(boolean trueFirst)Gets a Comparator that can sort Boolean objects.static <E> java.util.Comparator<E>chainedComparator(java.util.Collection<java.util.Comparator<E>> comparators)Gets a comparator that compares using a collection ofComparators, applied in (default iterator) sequence until one returns not equal or the collection is exhausted.static <E> java.util.Comparator<E>chainedComparator(java.util.Comparator<E>... comparators)Gets a comparator that compares using an array ofComparators, applied in sequence until one returns not equal or the array is exhausted.static <E> Emax(E o1, E o2, java.util.Comparator<E> comparator)Returns the larger of the given objects according to the given comparator, returning the second object if the comparator returns equal.static <E> Emin(E o1, E o2, java.util.Comparator<E> comparator)Returns the smaller of the given objects according to the given comparator, returning the second object if the comparator returns equal.static <E extends java.lang.Comparable<? super E>>
java.util.Comparator<E>naturalComparator()Gets a comparator that uses the natural order of the objects.static <E> java.util.Comparator<E>nullHighComparator(java.util.Comparator<E> comparator)Gets a Comparator that controls the comparison ofnullvalues.static <E> java.util.Comparator<E>nullLowComparator(java.util.Comparator<E> comparator)Gets a Comparator that controls the comparison ofnullvalues.static <E> java.util.Comparator<E>reversedComparator(java.util.Comparator<E> comparator)Gets a comparator that reverses the order of the given comparator.static <I,O>
java.util.Comparator<I>transformedComparator(java.util.Comparator<O> comparator, Transformer<? super I,? extends O> transformer)Gets a Comparator that passes transformed objects to the given comparator. 
 - 
 
- 
- 
Method Detail
- 
naturalComparator
public static <E extends java.lang.Comparable<? super E>> java.util.Comparator<E> naturalComparator()
Gets a comparator that uses the natural order of the objects.- Type Parameters:
 E- the object type to compare- Returns:
 - a comparator which uses natural order
 
 
- 
chainedComparator
public static <E> java.util.Comparator<E> chainedComparator(java.util.Comparator<E>... comparators)
Gets a comparator that compares using an array ofComparators, applied in sequence until one returns not equal or the array is exhausted.- Type Parameters:
 E- the object type to compare- Parameters:
 comparators- the comparators to use, not null or empty or containing nulls- Returns:
 - a 
ComparatorChainformed from the input comparators - Throws:
 java.lang.NullPointerException- if comparators array is null or contains a null- See Also:
 ComparatorChain
 
- 
chainedComparator
public static <E> java.util.Comparator<E> chainedComparator(java.util.Collection<java.util.Comparator<E>> comparators)
Gets a comparator that compares using a collection ofComparators, applied in (default iterator) sequence until one returns not equal or the collection is exhausted.- Type Parameters:
 E- the object type to compare- Parameters:
 comparators- the comparators to use, not null or empty or containing nulls- Returns:
 - a 
ComparatorChainformed from the input comparators - Throws:
 java.lang.NullPointerException- if comparators collection is null or contains a nulljava.lang.ClassCastException- if the comparators collection contains the wrong object type- See Also:
 ComparatorChain
 
- 
reversedComparator
public static <E> java.util.Comparator<E> reversedComparator(java.util.Comparator<E> comparator)
Gets a comparator that reverses the order of the given comparator.- Type Parameters:
 E- the object type to compare- Parameters:
 comparator- the comparator to reverse- Returns:
 - a comparator that reverses the order of the input comparator
 - See Also:
 ReverseComparator
 
- 
booleanComparator
public static java.util.Comparator<java.lang.Boolean> 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.
- Parameters:
 trueFirst- whentrue, sorttrueBooleans beforefalseBooleans.- Returns:
 - a comparator that sorts booleans
 
 
- 
nullLowComparator
public static <E> java.util.Comparator<E> nullLowComparator(java.util.Comparator<E> comparator)
Gets a Comparator that controls the comparison ofnullvalues.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.
- Type Parameters:
 E- the object type to compare- Parameters:
 comparator- the comparator that wants to allow nulls- Returns:
 - a version of that comparator that allows nulls
 - See Also:
 NullComparator
 
- 
nullHighComparator
public static <E> java.util.Comparator<E> nullHighComparator(java.util.Comparator<E> comparator)
Gets a Comparator that controls the comparison ofnullvalues.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.
- Type Parameters:
 E- the object type to compare- Parameters:
 comparator- the comparator that wants to allow nulls- Returns:
 - a version of that comparator that allows nulls
 - See Also:
 NullComparator
 
- 
transformedComparator
public static <I,O> java.util.Comparator<I> transformedComparator(java.util.Comparator<O> comparator, Transformer<? super I,? extends O> 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.
- Type Parameters:
 I- the input object type of the transformed comparatorO- the object type of the decorated 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 <E> E min(E o1, E o2, java.util.Comparator<E> comparator)Returns the smaller of the given objects according to the given comparator, returning the second object if the comparator returns equal.- Type Parameters:
 E- the object type to compare- 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 <E> E max(E o1, E o2, java.util.Comparator<E> comparator)Returns the larger of the given objects according to the given comparator, returning the second object if the comparator returns equal.- Type Parameters:
 E- the object type to compare- Parameters:
 o1- the first object to compareo2- the second object to comparecomparator- the sort order to use- Returns:
 - the larger of the two objects
 
 
 - 
 
 -