comparator library

Provides default Comparator constructors, and various static extension methods to modify and perform common operations on Comparator functions.

Mixins

CompareOperators<T>
A generic mixin that provides standard comparison operators like <, <=, >=, and > provided the class implements Comparable.

Extensions

ComparableExtension on Comparable<T>
Extension on Comparable objects providing range checking and clipping.
CompoundComparator on Comparator<T>
Extension on Comparator to combine multiple comparators.
CompoundIterableComparator on Iterable<Comparator<T>>
Extension on an iterable of Comparators to combine them into one.
LargestComparator on Comparator<T>
Extension on Comparator to find the largest elements.
LexicographicalComparator on Comparator<T>
Extension on Comparator to order iterables lexicographically.
MinMaxComparator on Comparator<T>
Extension on Comparator to find the minimum and maximum elements.
NullsFirstComparator on Comparator<T>
Extension on Comparator to order null values first.
NullsLastComparator on Comparator<T>
Extension on Comparator to order null values last.
OrderedComparator on Comparator<T>
Extension on Comparator to check ordering of iterables.
PredicateComparator on Comparator<T>
Extension on Comparator providing relational comparison predicates.
ResultOfComparator on Comparator<R>
Extension on Comparator to order elements by a key extraction function.
ReversedComparator on Comparator<T>
Extension on Comparator to reverse the ordering.
SearchComparator on Comparator<T>
Extension on Comparator to perform binary search operations.
SmallestComparator on Comparator<T>
Extension on Comparator to find the smallest elements.
SortComparator on Comparator<T>
Extension on Comparator to sort lists and iterables.

Functions

delegateComparator<T, R extends Comparable<R>>(R transformation(T value)) → Comparator<T>
Creates a comparator that compares values of type T but delegates the decision to a Comparable<R> with the provided transformation.
explicitComparator<T>(Iterable<T> iterable) → Comparator<T>
Returns an explicit Comparator based on an iterable of elements.
keyOf<T, R extends Comparable<R>>(R transformation(T value)) → Comparator<T>
Creates a comparator that compares values of type T but delegates the decision to a Comparable<R> with the provided transformation.
naturalComparable<T extends Comparable<T>>(T a, T b) → int
Natural static Comparator function using Comparable arguments.
naturalCompare(Object? a, Object? b) → int
Natural dynamic Comparator function.
reverseComparable<T extends Comparable<T>>(T a, T b) → int
Reversed static Comparator function using Comparable arguments.
reverseCompare(Object? a, Object? b) → int
Reversed dynamic Comparator function.