Package com.landawn.abacus.util
Class Comparators
java.lang.Object
com.landawn.abacus.util.Comparators
- Direct Known Subclasses:
Fn
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> Comparator<T[]>
comparingArray
(Comparator<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) 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,
C extends Collection<T>>
Comparator<C>comparingCollection
(Comparator<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,
C extends Iterator<T>>
Comparator<C>comparingIterator
(Comparator<T> cmp) static <T> Comparator<T>
comparingLong
(ToLongFunction<? super T> keyMapper) static <T> Comparator<T>
comparingShort
(ToShortFunction<? super T> keyMapper) static <T extends Comparable>
Comparator<T>Same asnullsFirst
static <T extends Comparable>
Comparator<T>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,
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 <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 extends Comparable>
Comparator<T>static <T> Comparator<T>
reversedOrder
(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:
nullsFirst()
-
reversedOrder
- Type Parameters:
T
-- Returns:
-
reversedOrder
- Type Parameters:
T
-- Parameters:
cmp
-- Returns:
-
nullsFirst
- Type Parameters:
T
-- Returns:
-
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:
-
comparingBy
public static <T,U extends Comparable<? super U>> Comparator<T> comparingBy(Function<? super T, ? extends U> keyMapper) - Type Parameters:
T
-U
-- Parameters:
keyMapper
-- 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:
-
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:
-
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:
-
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:
-
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:
-
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:
-
comparingByValue
Comparing by value.- 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:
-
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:
-
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:
-
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:
-
comparingArray
-
comparingCollection
-
comparingIterator
-