Language

IList.Sort(IComparator) メソッド

定義

指定した Comparator によって引き起こされる順序に従って、このリストを並べ替えます (省略可能な操作)。

[Android.Runtime.Register("sort", "(Ljava/util/Comparator;)V", "GetSort_Ljava_util_Comparator_Handler:Java.Util.IList, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
public virtual void Sort(Java.Util.IComparator? c);
[<Android.Runtime.Register("sort", "(Ljava/util/Comparator;)V", "GetSort_Ljava_util_Comparator_Handler:Java.Util.IList, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Sort : Java.Util.IComparator -> unit
override this.Sort : Java.Util.IComparator -> unit

パラメーター

c
IComparator

リスト要素の比較に使用する Comparator 。 null値は、要素の比較可能な自然順序を使用する必要があることを示します。

属性

注釈

指定した Comparatorによって引き起こされる順序に従って、このリストを並べ替えます。

このリスト内のすべての要素は、指定されたコンパレータを使用して相互に比較できる必要があります (つまり、c.compare(e1, e2)は、リスト内の要素ClassCastExceptionおよびe1に対してe2をスローしてはなりません)。

指定されたコンパレータが null 場合、このリスト内のすべての要素は Comparable インターフェイスを実装する必要があり、要素の比較可能な自然順序を使用する必要があります。

このリストは変更可能である必要がありますが、サイズ変更可能である必要はありません。

Nougat (API レベルの > 25) より大きい Android バージョンで実行され、対象となるアプリの場合は、このメソッドにデリゲートを Collections#sort(List) します。 このようなアプリでは、このメソッドから Collections#sort(List) を呼び出してはなりません。 代わりに、このメソッドをまったくオーバーライドしないようにしてください。 オーバーライドする必要がある場合は、次の実装を検討してください。

&#064;Override
            public void sort(Comparator&lt;? super E&gt; c) {
              Object[] elements = toArray();
              Arrays.sort(elements, c);
              ListIterator&lt;E&gt; iterator = (ListIterator&lt;Object&gt;) listIterator();
              for (Object element : elements) {
                iterator.next();
                iterator.set((E) element);
              }
            }

1.8 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象