次の方法で共有


IComparator インターフェイス

定義

オブジェクトの一部のコレクションに対して合計順序設定する比較関数。

[Android.Runtime.Register("java/util/Comparator", "", "Java.Util.IComparatorInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public interface IComparator : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/Comparator", "", "Java.Util.IComparatorInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type IComparator = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
実装

注釈

オブジェクトの一部のコレクションに対して合計順序設定する比較関数。 比較子を並べ替えメソッド (などCollections#sort(List,Comparator) Collections.sortArrays#sort(Object[],Comparator) Arrays.sort) に渡して、並べ替え順序を正確に制御できます。 比較子を使用して、特定のデータ構造 (SortedSet の並べ替えられたセットや SortedMap の並べ替えられたマップなど) の順序を制御したり、同等の自然な順序を持たないオブジェクトのコレクションの順序を指定したりすることもできます。

一連の要素に対してコンパレータcによって課される順序は、すべてのe2Se1要素と同じブール値e1.equals(e2)を持つ場合c.compare(e1, e2)==0にのみ等しいと一致すると言われます。S

並べ替えられたセット (または並べ替えられたマップ) の順序と等しい順序に一致しない順序を設定できる比較器を使用する場合は、注意が必要です。 明示的な比較子 c を持つ並べ替えられたセット (または並べ替えられたマップ) が、セット Sから描画された要素 (またはキー) と共に使用されるとします。 on S によってc課される順序が等しいと一致しない場合、並べ替えられたセット (または並べ替えられたマップ) は "奇妙に" 動作します。 特に、並べ替えられたセット (または並べ替えられたマップ) は、セット (またはマップ) の一般的なコントラクトに違反します。これは次の equals点で定義されます。

たとえば、1 つは 2 つの要素を追加し、b比較(a.equals(b) && c.compare(a, b) != 0)cを持つ空TreeSetの要素aに追加するとします。 2 番目addの操作は true を返します (ツリー セットのサイズが大きくなります)。abこれは、メソッドの仕様Set#add Set.addに反していても、ツリー セットの観点からは同等ではないためです。

注: 一般に、コンパレータはシリアル化可能なデータ構造 (たとえばTreeSet、) の順序付けメソッドとして使用できるため、TreeMap実装java.io.Serializableすることをお勧めします。 データ構造を正常にシリアル化するには、比較子 (指定されている場合) を実装 Serializableする必要があります。

数学的に傾斜した場合、特定のコンパレータcが特定のオブジェクトSセットに課す課せられる順序を定義する関係は次のとおりです。

{(x, y) such that c.compare(x, y) &lt;= 0}.

この合計注文の商は次のとおりです。

{(x, y) such that c.compare(x, y) == 0}.

これは、商が等価関係Sであり、課された順序上の合計順序Sであることを契約compareから直ちに従います。 onによって cS課される順序が等しいと言うとき、順序付けの商はオブジェクト Object#equals(Object) equals(Object) のメソッドによって定義された等価関係であることを意味します。

{(x, y) such that x.equals(y)}.

言い換えると、強制順序が等しい場合、メソッドの等価関係によって定義される等価クラスと、メソッドの equalscompare で定義された等価クラスは同じです。

比較器とは異なり Comparable、必要に応じて、等価関係の要件を維持しながら、null 引数の比較を許可できます。

このインターフェイスは、Java Collections Framework の メンバーです

1.2 で追加されました。

の Java ドキュメントjava.util.Comparator

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

プロパティ

Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() 値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

ラップされた Java オブジェクト インスタンスの a JniObjectReference を返します。

(継承元 IJavaPeerable)

メソッド

Compare(Object, Object)

順序の 2 つの引数を比較します。

Comparing(IFunction)

Tから並べ替えキーをjava.lang.Comparable Comparable抽出し、その並べ替えキーで比較する関数を返すComparator<T>関数を受け入れます。

Comparing(IFunction, IComparator)

Tから並べ替えキーを抽出し、指定したComparator並べ替えキーを使用して比較する関数を受け取りますComparator<T>

ComparingDouble(IToDoubleFunction)

Tから並べ替えキーをdouble抽出し、その並べ替えキーで比較する関数を返すComparator<T>関数を受け入れます。

ComparingInt(IToIntFunction)

Tから並べ替えキーをint抽出し、その並べ替えキーで比較する関数を返すComparator<T>関数を受け入れます。

ComparingLong(IToLongFunction)

Tから並べ替えキーをlong抽出し、その並べ替えキーで比較する関数を返すComparator<T>関数を受け入れます。

Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、呼び出 Dispose()します。それ以外の場合は何も行いません。

(継承元 IJavaPeerable)
Equals(Object)

他のオブジェクトが > かどうかを示します。equal to>このコンパレータ。

Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
NaturalOrder()

オブジェクトを自然な順序で比較する Comparable 比較子を返します。

NullsFirst(IComparator)

null 以外の値より小さいと見な null される null に対応する比較子を返します。

NullsLast(IComparator)

null 以外の値より大きいと見な null される null に対応する比較子を返します。

Reversed()

このコンパレータの逆順序を強制するコンパレータを返します。

ReverseOrder()

em>の自然な順序</em の逆を強制する比較子を<返します>。

SetJniIdentityHashCode(Int32)

によって JniIdentityHashCode返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

オブジェクトの一部のコレクションに対して合計順序設定する比較関数。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

によって PeerReference返される値を設定します。

(継承元 IJavaPeerable)
ThenComparing(IComparator)

別のコンパレータと共に辞書式比較子を返します。

ThenComparing(IFunction)

並べ替えキーを抽出する関数を持つ辞書式比較子を Comparable 返します。

ThenComparing(IFunction, IComparator)

指定 Comparatorされたキーと比較するキーを抽出する関数を持つ辞書式比較子を返します。

ThenComparingDouble(IToDoubleFunction)

並べ替えキーを抽出する関数を持つ辞書式比較子を double 返します。

ThenComparingInt(IToIntFunction)

並べ替えキーを抽出する関数を持つ辞書式比較子を int 返します。

ThenComparingLong(IToLongFunction)

並べ替えキーを抽出する関数を持つ辞書式比較子を long 返します。

UnregisterFromRuntime()

ランタイムが将来 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

オブジェクトの一部のコレクションに対して合計順序設定する比較関数。

GetJniTypeName(IJavaPeerable)

オブジェクトの一部のコレクションに対して合計順序設定する比較関数。

適用対象