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
-
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 ofComparator
s, 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 ofComparator
s, applied in sequence until one returns not equal or the array is exhausted.static <E> E
max
(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> E
min
(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 ofnull
values.static <E> Comparator<E>
nullLowComparator
(Comparator<E> comparator) Gets a Comparator that controls the comparison ofnull
values.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
Comparator for natural sort order.
-
-
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 ofComparator
s, 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
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:
-
chainedComparator
Gets a comparator that compares using an array ofComparator
s, 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
ComparatorChain
formed 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 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.
- 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 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.
- 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:
-