Class ComparatorUtils
Comparator
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 the comparators subpackage.
- Since:
- 2.1
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic Comparator<Boolean> booleanComparator(boolean trueFirst) Gets a Comparator that can sort Boolean objects.static <E> Comparator<E> chainedComparator(Collection<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> Comparator<E> chainedComparator(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, Comparator<E> comparator) Returns the largest 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, Comparator<E> comparator) Returns the smallest of the given objects according to the given comparator, returning the second object if the comparator returns equal.static <E extends Comparable<? super E>>
Comparator<E> Gets a comparator that uses the natural order of the objects.static <E> Comparator<E> nullHighComparator(Comparator<E> comparator) Gets a Comparator that controls the comparison ofnullvalues.static <E> Comparator<E> nullLowComparator(Comparator<E> comparator) Gets a Comparator that controls the comparison ofnullvalues.static <E> Comparator<E> reversedComparator(Comparator<E> comparator) Gets a comparator that reverses the order of the given comparator.static <I,O> Comparator <I> transformedComparator(Comparator<O> comparator, Transformer<? super I, ? extends O> transformer) Gets a Comparator that passes transformed objects to the given comparator.
-
Field Details
-
NATURAL_COMPARATOR
-
-
Method Details
-
booleanComparator
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.
-
chainedComparator
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:
NullPointerException- if comparators collection is null or contains a nullClassCastException- if the comparators collection contains the wrong object type- See Also:
-
chainedComparator
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:
NullPointerException- if comparators array is null or contains a null- See Also:
-
max
Returns the largest 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
-
min
Returns the smallest 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
-
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
-
nullHighComparator
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:
-
nullLowComparator
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:
-
reversedComparator
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:
-
transformedComparator
public static <I,O> Comparator<I> transformedComparator(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:
-