public class OrderComparator extends ObjectSE implements ComparatorSE<ObjectSE>
Ordered
オブジェクトの Comparator
SE 実装。優先順位の降順で昇順で、それぞれ昇順でソートします。PriorityOrdered
オブジェクト PriorityOrdered
オブジェクトは、プレーンな Ordered
オブジェクトよりも高い優先順位でソートされます。
同じ順序値を持つオブジェクトは、同じ順序値を持つ他のオブジェクトに対して任意の順序で並べ替えられます。
独自の順序値を提供しないオブジェクトには、暗黙的に Ordered.LOWEST_PRECEDENCE
の値が割り当てられるため、同じ順序値を持つ他のオブジェクトに対して、任意の順序でソートされたコレクションの最後に到達します。
Ordered
, PriorityOrdered
, AnnotationAwareOrderComparator
, List.sort(java.util.Comparator)
SE, Arrays.sort(Object[], java.util.Comparator)
SE修飾子と型 | クラスと説明 |
---|---|
static interface | OrderComparator.OrderSourceProvider 特定のオブジェクトのオーダー元を提供する戦略インターフェース。 |
修飾子と型 | フィールドと説明 |
---|---|
static OrderComparator | INSTANCE OrderComparator の共有デフォルトインスタンス。 |
コンストラクターと説明 |
---|
OrderComparator() |
修飾子と型 | メソッドと説明 |
---|---|
int | compare(ObjectSE o1, ObjectSE o2) |
protected IntegerSE | findOrder(ObjectSE obj) 指定されたオブジェクトが示すオーダー値を検索します。 |
protected int | getOrder(ObjectSE obj) 指定されたオブジェクトのオーダー値を決定します。 |
IntegerSE | getPriority(ObjectSE obj) 存在する場合、指定されたオブジェクトの優先度の値を決定します。 |
static void | sort(ListSE<?> list) 指定されたリストをデフォルトの OrderComparator でソートします。 |
static void | sort(ObjectSE[] array) 指定された配列をデフォルトの OrderComparator でソートします。 |
static void | sortIfNecessary(ObjectSE value) 必要に応じて、指定された配列またはリストをデフォルトの OrderComparator でソートします。 |
ComparatorSE<ObjectSE> | withSourceProvider(OrderComparator.OrderSourceProvider sourceProvider) 指定されたソースプロバイダーを使用して、適合したオーダーコンパレーターを構築します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
comparingSE, comparingSE, comparingDoubleSE, comparingIntSE, comparingLongSE, equalsSE, naturalOrderSE, nullsFirstSE, nullsLastSE, reversedSE, reverseOrderSE, thenComparingSE, thenComparingSE, thenComparingSE, thenComparingDoubleSE, thenComparingIntSE, thenComparingLongSE
public static final OrderComparator INSTANCE
OrderComparator
の共有デフォルトインスタンス。public ComparatorSE<ObjectSE> withSourceProvider(OrderComparator.OrderSourceProvider sourceProvider)
sourceProvider
- 使用するオーダー元プロバイダー public int compare(@Nullable ObjectSE o1, @Nullable ObjectSE o2)
ComparatorSE<ObjectSE>
の compareSE
protected int getOrder(@Nullable ObjectSE obj)
デフォルトの実装では、findOrder(java.lang.Object)
への委譲を通じて Ordered
インターフェースをチェックします。サブクラスでオーバーライドできます。
obj
- チェックするオブジェクト Ordered.LOWEST_PRECEDENCE
@Nullable protected IntegerSE findOrder(ObjectSE obj)
デフォルトの実装では、Ordered
インターフェースをチェックします。サブクラスでオーバーライドできます。
obj
- チェックするオブジェクト null
@Nullable public IntegerSE getPriority(ObjectSE obj)
デフォルトの実装は常に null
を返します。サブクラスはこれをオーバーライドして、特定の種類の値に、「順序」の意味に加えて「優先」特性を与えることができます。優先度は、リスト / 配列での順序付けの目的に役立つことに加えて、あるオブジェクトを別のオブジェクトから選択するために使用できることを示します。
obj
- チェックするオブジェクト null
public static void sort(ListSE<?> list)
サイズ 0 または 1 のリストのソートをスキップするように最適化され、不要な配列抽出が回避されました。
list
- ソートするリスト List.sort(java.util.Comparator)
SEpublic static void sort(ObjectSE[] array)
サイズ 0 または 1 のリストのソートをスキップするように最適化され、不要な配列抽出が回避されました。
array
- ソートする配列 Arrays.sort(Object[], java.util.Comparator)
SEpublic static void sortIfNecessary(ObjectSE value)
サイズ 0 または 1 のリストのソートをスキップするように最適化され、不要な配列抽出が回避されました。
value
- ソートする配列またはリスト Arrays.sort(Object[], java.util.Comparator)
SE