类 OrderComparator
- 所有已实现的接口:
Comparator<Object>
- 直接已知子类:
AnnotationAwareOrderComparator
Comparator implementation for Ordered objects, sorting
by order value ascending, respectively by priority descending.
PriorityOrdered Objects
PriorityOrdered objects will be sorted with higher priority than
plain Ordered objects.
Same Order Objects
Objects that have the same order value will be sorted with arbitrary ordering with respect to other objects with the same order value.
Non-ordered Objects
Any object that does not provide its own order value is implicitly
assigned a value of Ordered.LOWEST_PRECEDENCE, thus ending up
at the end of a sorted collection in arbitrary order with respect to
other objects with the same order value.
- 从以下版本开始:
- 4.0 2021/9/12 11:32
- 作者:
- Juergen Hoeller, Sam Brannen, Harry Yang
- 另请参阅:
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明intprivate intdoCompare(Object o1, Object o2, OrderSourceProvider sourceProvider) protected IntegerFind an order value indicated by the given object.intDetermine the order value for the given object.private intgetOrder(Object obj, OrderSourceProvider sourceProvider) Determine the order value for the given object.getPriority(Object obj) Determine a priority value for the given object, if any.static voidSort the given array with a default OrderComparator.static voidSort the given List with a default OrderComparator.static voidsortIfNecessary(Object value) Sort the given array or List with a default OrderComparator, if necessary.<T> Comparator<T>withSourceProvider(OrderSourceProvider sourceProvider) Build an adapted order comparator with the given source provider.从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
字段详细资料
-
INSTANCE
Shared default instance ofOrderComparator.
-
-
构造器详细资料
-
OrderComparator
public OrderComparator()
-
-
方法详细资料
-
withSourceProvider
Build an adapted order comparator with the given source provider.- 参数:
sourceProvider- the order source provider to use- 返回:
- the adapted comparator
-
compare
- 指定者:
compare在接口中Comparator<Object>
-
doCompare
-
getOrder
Determine the order value for the given object.The default implementation checks against the given
OrderSourceProviderusingfindOrder(java.lang.Object)and falls back to a regulargetOrder(Object)call.- 参数:
obj- the object to check- 返回:
- the order value, or
Ordered.LOWEST_PRECEDENCEas fallback
-
getOrder
Determine the order value for the given object.The default implementation checks against the
Orderedinterface through delegating tofindOrder(java.lang.Object). Can be overridden in subclasses.- 参数:
obj- the object to check- 返回:
- the order value, or
Ordered.LOWEST_PRECEDENCEas fallback
-
findOrder
Find an order value indicated by the given object.The default implementation checks against the
Orderedinterface. Can be overridden in subclasses.- 参数:
obj- the object to check- 返回:
- the order value, or
nullif none found
-
getPriority
Determine a priority value for the given object, if any.The default implementation always returns
null. Subclasses may override this to give specific kinds of values a 'priority' characteristic, in addition to their 'order' semantics. A priority indicates that it may be used for selecting one object over another, in addition to serving for ordering purposes in a list/array.- 参数:
obj- the object to check- 返回:
- the priority value, or
nullif none
-
sort
Sort the given List with a default OrderComparator.Optimized to skip sorting for lists with size 0 or 1, in order to avoid unnecessary array extraction.
- 参数:
list- the List to sort- 另请参阅:
-
sort
Sort the given array with a default OrderComparator.Optimized to skip sorting for lists with size 0 or 1, in order to avoid unnecessary array extraction.
- 参数:
array- the array to sort- 另请参阅:
-
sortIfNecessary
Sort the given array or List with a default OrderComparator, if necessary. Simply skips sorting when given any other value.Optimized to skip sorting for lists with size 0 or 1, in order to avoid unnecessary array extraction.
- 参数:
value- the array or List to sort- 另请参阅:
-