Package com.landawn.abacus.util
Class Comparators
java.lang.Object
com.landawn.abacus.util.Comparators
Factory utility class for Comparator.
- Author:
- haiyangl
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Comparator<boolean[]>
static final Comparator<byte[]>
static final Comparator<char[]>
static final Comparator<Collection>
static final Comparator<double[]>
static final Comparator<float[]>
static final Comparator<int[]>
static final Comparator<long[]>
static final Comparator<Object[]>
static final Comparator<short[]>
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends Comparable>
Comparator<T[]>static <T> Comparator<T[]>
comparingArray
(Comparator<? super T> cmp) static <T> Comparator<T>
comparingBoolean
(ToBooleanFunction<? super T> keyMapper) static <T,
U extends Comparable<? super U>>
Comparator<T>comparingBy
(Function<? super T, ? extends U> keyMapper) Comparing the key/value extracted bykeyMapper
bynullsFirst()
comparator.static <T,
U> Comparator<T> comparingBy
(Function<? super T, ? extends U> keyMapper, Comparator<? super U> keyComparator) static <T> Comparator<T>
Comparing by array length.static <T,
U extends Comparable<? super U>>
Comparator<T>comparingByIfNotNullOrElseNullsFirst
(Function<? super T, ? extends U> keyMapper) static <T,
U extends Comparable<? super U>>
Comparator<T>comparingByIfNotNullOrElseNullsLast
(Function<? super T, ? extends U> keyMapper) static <K extends Comparable<? super K>,
V>
Comparator<Map.Entry<K,V>> Comparing by key.static <K,
V> Comparator<Map.Entry<K, V>> comparingByKey
(Comparator<? super K> cmp) Comparing by key.static <T extends CharSequence>
Comparator<T>Comparing by length.static <T extends Map>
Comparator<T>Comparing by map size.static <T extends Collection>
Comparator<T>Comparing by collection size.static <T> Comparator<T>
comparingByte
(ToByteFunction<? super T> keyMapper) static <K,
V extends Comparable<? super V>>
Comparator<Map.Entry<K,V>> Comparing by value.static <K,
V> Comparator<Map.Entry<K, V>> comparingByValue
(Comparator<? super V> cmp) Comparing by value.static <T> Comparator<T>
comparingChar
(ToCharFunction<? super T> keyMapper) static <T extends Comparable,
C extends Collection<T>>
Comparator<C>static <T,
C extends Collection<T>>
Comparator<C>comparingCollection
(Comparator<? super T> cmp) static <T> Comparator<T>
comparingDouble
(ToDoubleFunction<? super T> keyMapper) static <T> Comparator<T>
comparingFloat
(ToFloatFunction<? super T> keyMapper) static Comparator<String>
Comparing ignore case.static <T> Comparator<T>
comparingIgnoreCase
(Function<? super T, String> keyMapper) Comparing ignore case.static <T> Comparator<T>
comparingInt
(ToIntFunction<? super T> keyMapper) static <T extends Comparable,
C extends Iterable<T>>
Comparator<C>static <T,
C extends Iterable<T>>
Comparator<C>comparingIterable
(Comparator<? super T> cmp) static <T extends Comparable,
C extends Iterator<T>>
Comparator<C>static <T,
C extends Iterator<T>>
Comparator<C>comparingIterator
(Comparator<? super T> cmp) static <T> Comparator<T>
comparingLong
(ToLongFunction<? super T> keyMapper) static Comparator<Object[]>
comparingObjArray
(Comparator<?> cmp) static <T> Comparator<T>
comparingShort
(ToShortFunction<? super T> keyMapper) static <T> Comparator<u.Optional<T>>
emptiesFirst
(Comparator<? super T> cmp) static <T> Comparator<u.Optional<T>>
emptiesLast
(Comparator<? super T> cmp) static <T extends Comparable>
Comparator<T>Same asnullsFirst()
.static <T extends Comparable>
Comparator<T>Same asnaturalOrder()
.static <T> Comparator<T>
nullsFirst
(Comparator<T> cmp) static <T> Comparator<T>
static <T extends Comparable>
Comparator<T>static <T> Comparator<T>
nullsLast
(Comparator<T> cmp) static <T> Comparator<T>
static <T> Comparator<T>
reversedComparingBoolean
(ToBooleanFunction<? super T> keyMapper) static <T,
U extends Comparable<? super U>>
Comparator<T>reversedComparingBy
(Function<? super T, ? extends U> keyMapper) Reversed comparing by.static <T,
U extends Comparable<? super U>>
Comparator<T>reversedComparingByIfNotNullOrElseNullsFirst
(Function<? super T, ? extends U> keyMapper) static <T,
U extends Comparable<? super U>>
Comparator<T>reversedComparingByIfNotNullOrElseNullsLast
(Function<? super T, ? extends U> keyMapper) static <K extends Comparable<? super K>,
V>
Comparator<Map.Entry<K,V>> Reversed comparing by key.static <K,
V> Comparator<Map.Entry<K, V>> reversedComparingByKey
(Comparator<? super K> cmp) Reversed comparing by key.static <T> Comparator<T>
reversedComparingByte
(ToByteFunction<? super T> keyMapper) static <K,
V extends Comparable<? super V>>
Comparator<Map.Entry<K,V>> Reversed comparing by value.static <K,
V> Comparator<Map.Entry<K, V>> reversedComparingByValue
(Comparator<? super V> cmp) Reversed comparing by value.static <T> Comparator<T>
reversedComparingChar
(ToCharFunction<? super T> keyMapper) static <T> Comparator<T>
reversedComparingDouble
(ToDoubleFunction<? super T> keyMapper) static <T> Comparator<T>
reversedComparingFloat
(ToFloatFunction<? super T> keyMapper) static <T> Comparator<T>
reversedComparingInt
(ToIntFunction<? super T> keyMapper) static <T> Comparator<T>
reversedComparingLong
(ToLongFunction<? super T> keyMapper) static <T> Comparator<T>
reversedComparingShort
(ToShortFunction<? super T> keyMapper) static <T extends Comparable>
Comparator<T>static <T> Comparator<T>
reverseOrder
(Comparator<T> cmp)
-
Field Details
-
BOOLEAN_ARRAY_COMPARATOR
-
CHAR_ARRAY_COMPARATOR
-
BYTE_ARRAY_COMPARATOR
-
SHORT_ARRAY_COMPARATOR
-
INT_ARRAY_COMPARATOR
-
LONG_ARRAY_COMPARATOR
-
FLOAT_ARRAY_COMPARATOR
-
DOUBLE_ARRAY_COMPARATOR
-
OBJECT_ARRAY_COMPARATOR
-
COLLECTION_COMPARATOR
-
-
Method Details
-
naturalOrder
Same asnullsFirst()
.- Type Parameters:
T
-- Returns:
- See Also:
-
nullsFirst
Same asnaturalOrder()
.- Type Parameters:
T
-- Returns:
- See Also:
-
nullsFirst
- Type Parameters:
T
-- Parameters:
cmp
-- Returns:
-
nullsFirstOrElseEqual
- Type Parameters:
T
-- Returns:
-
nullsLast
- Type Parameters:
T
-- Returns:
-
nullsLast
- Type Parameters:
T
-- Parameters:
cmp
-- Returns:
-
nullsLastOrElseEqual
- Type Parameters:
T
-- Returns:
-
emptiesFirst
- Type Parameters:
T
-- Parameters:
cmp
-- Returns:
-
emptiesLast
- Type Parameters:
T
-- Parameters:
cmp
-- Returns:
-
comparingBy
public static <T,U extends Comparable<? super U>> Comparator<T> comparingBy(Function<? super T, ? extends U> keyMapper) Comparing the key/value extracted bykeyMapper
bynullsFirst()
comparator.- Type Parameters:
T
-U
-- Parameters:
keyMapper
-- Returns:
- See Also:
-
comparingBy
public static <T,U> Comparator<T> comparingBy(Function<? super T, ? extends U> keyMapper, Comparator<? super U> keyComparator) - Type Parameters:
T
-U
-- Parameters:
keyMapper
-keyComparator
-- Returns:
-
comparingByIfNotNullOrElseNullsFirst
@Beta public static <T,U extends Comparable<? super U>> Comparator<T> comparingByIfNotNullOrElseNullsFirst(Function<? super T, ? extends U> keyMapper) - Type Parameters:
T
-U
-- Parameters:
keyMapper
-- Returns:
-
comparingByIfNotNullOrElseNullsLast
@Beta public static <T,U extends Comparable<? super U>> Comparator<T> comparingByIfNotNullOrElseNullsLast(Function<? super T, ? extends U> keyMapper) - Type Parameters:
T
-U
-- Parameters:
keyMapper
-- Returns:
-
comparingBoolean
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingChar
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingByte
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingShort
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingInt
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingLong
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingFloat
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingDouble
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingIgnoreCase
Comparing ignore case.- Returns:
-
comparingIgnoreCase
Comparing ignore case.- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
comparingByKey
Comparing by key.- Type Parameters:
K
- the key typeV
- the value type- Returns:
-
comparingByValue
Comparing by value.- Type Parameters:
K
- the key typeV
- the value type- Returns:
-
comparingByKey
Comparing by key.- Type Parameters:
K
- the key typeV
- the value type- Parameters:
cmp
-- Returns:
-
comparingByValue
Comparing by value.- Type Parameters:
K
- the key typeV
- the value type- Parameters:
cmp
-- Returns:
-
comparingByLength
Comparing by length.- Type Parameters:
T
-- Returns:
-
comparingByArrayLength
Comparing by array length.- Type Parameters:
T
-- Returns:
-
comparingBySize
Comparing by collection size.- Type Parameters:
T
-- Returns:
-
comparingByMapSize
Comparing by map size.- Type Parameters:
T
-- Returns:
-
comparingObjArray
- Parameters:
cmp
-- Returns:
-
comparingArray
- Type Parameters:
T
-- Returns:
-
comparingArray
- Type Parameters:
T
-- Parameters:
cmp
-- Returns:
-
comparingCollection
- Type Parameters:
T
-- Returns:
-
comparingCollection
public static <T,C extends Collection<T>> Comparator<C> comparingCollection(Comparator<? super T> cmp) - Type Parameters:
T
-C
-- Parameters:
cmp
-- Returns:
-
comparingIterable
- Type Parameters:
T
-- Returns:
-
comparingIterable
- Type Parameters:
T
-C
-- Parameters:
cmp
-- Returns:
-
comparingIterator
- Type Parameters:
T
-- Returns:
-
comparingIterator
- Type Parameters:
T
-C
-- Parameters:
cmp
-- Returns:
-
reverseOrder
- Type Parameters:
T
-- Returns:
-
reverseOrder
- Type Parameters:
T
-- Parameters:
cmp
-- Returns:
-
reversedComparingBoolean
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingChar
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingByte
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingShort
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingInt
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingLong
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingFloat
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingDouble
- Type Parameters:
T
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingBy
public static <T,U extends Comparable<? super U>> Comparator<T> reversedComparingBy(Function<? super T, ? extends U> keyMapper) Reversed comparing by.- Type Parameters:
T
-U
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingByKey
public static <K extends Comparable<? super K>,V> Comparator<Map.Entry<K,V>> reversedComparingByKey()Reversed comparing by key.- Type Parameters:
K
- the key typeV
- the value type- Returns:
-
reversedComparingByValue
public static <K,V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> reversedComparingByValue()Reversed comparing by value.- Type Parameters:
K
- the key typeV
- the value type- Returns:
-
reversedComparingByKey
@Beta public static <K,V> Comparator<Map.Entry<K,V>> reversedComparingByKey(Comparator<? super K> cmp) Reversed comparing by key.- Type Parameters:
K
- the key typeV
- the value type- Parameters:
cmp
-- Returns:
-
reversedComparingByValue
@Beta public static <K,V> Comparator<Map.Entry<K,V>> reversedComparingByValue(Comparator<? super V> cmp) Reversed comparing by value.- Type Parameters:
K
- the key typeV
- the value type- Parameters:
cmp
-- Returns:
-
reversedComparingByIfNotNullOrElseNullsFirst
@Beta public static <T,U extends Comparable<? super U>> Comparator<T> reversedComparingByIfNotNullOrElseNullsFirst(Function<? super T, ? extends U> keyMapper) - Type Parameters:
T
-U
-- Parameters:
keyMapper
-- Returns:
-
reversedComparingByIfNotNullOrElseNullsLast
@Beta public static <T,U extends Comparable<? super U>> Comparator<T> reversedComparingByIfNotNullOrElseNullsLast(Function<? super T, ? extends U> keyMapper) - Type Parameters:
T
-U
-- Parameters:
keyMapper
-- Returns:
-