CollationKey クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
CollationKeyは、特定のString オブジェクトのルールの下のCollatorを表します。
[Android.Runtime.Register("android/icu/text/CollationKey", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class CollationKey : Java.Lang.Object, IDisposable, Java.Lang.IComparable
[<Android.Runtime.Register("android/icu/text/CollationKey", ApiSince=24, DoNotGenerateAcw=true)>]
type CollationKey = class
inherit Object
interface IComparable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 継承
- 属性
- 実装
注釈
CollationKeyは、特定のString オブジェクトのルールの下のCollatorを表します。 2 つの CollationKeyを比較すると、それらが表す Stringの相対順序が返されます。
Collatorのルール セットは異なる場合があるため、2 つの異なるCollatorで同じ文字列の並べ替え順序が異なる場合があります。 そのため、異なるCollationKeyから生成されたCollatorを比較すると、正しくない結果が得られます。
メソッド CollationKey.compareTo(CollationKey) とメソッドの両方 Collator.compare(String, String) 2 つの文字列を比較し、その相対順序を返します。 これら 2 つの方法のパフォーマンス特性は異なる場合があります。 照合順序キーは、多くの場合、単に比較を行うよりも効率が低くなることに注意してください。 詳細については、ICU ユーザー ガイドを参照してください。
CollationKeyの構築中に、ソース文字列全体が調べられ、null で終わる一連のビットに処理され、CollationKeyに格納されます。
CollationKey.compareTo(CollationKey)実行すると、ビット シーケンスに対してビットごとの比較が実行されます。 これにより、 CollationKeyの作成時にスタートアップ コストが発生する可能性がありますが、キーが作成されると、バイナリ比較が高速になります。 この方法は、同じ文字列を何度も繰り返し比較する場合に推奨されます。
一方、 Collator.compare(String, String) の実装では、最初の文字の順序が異なるまで、文字列を調べて処理できます。 文字列を 1 回だけ比較する場合は、この方法をお勧めします。
ビット シーケンスの構成の詳細については、 ユーザー ガイドを参照してください。
次の例は、 CollationKeyを使用して Stringの一覧を並べ替える方法を示しています。
<blockquote>
// Create an array of CollationKeys for the Strings to be sorted.
Collator myCollator = Collator.getInstance();
CollationKey[] keys = new CollationKey[3];
keys[0] = myCollator.getCollationKey("Tom");
keys[1] = myCollator.getCollationKey("Dick");
keys[2] = myCollator.getCollationKey("Harry");
sort( keys );
<br>
//...
<br>
// Inside body of sort routine, compare keys this way
if( keys[i].compareTo( keys[j] ) > 0 )
// swap keys[i] and keys[j]
<br>
//...
<br>
// Finally, when we've returned from sort.
System.out.println( keys[0].getSourceString() );
System.out.println( keys[1].getSourceString() );
System.out.println( keys[2].getSourceString() );
</blockquote>
このクラスはサブクラス化できません
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| CollationKey(String, Byte[]) |
CollationKey コンストラクター。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| SourceString |
この CollationKey が表すソース文字列を返します。 |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
メソッド
| 名前 | 説明 |
|---|---|
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| CompareTo(CollationKey) |
この照合順序キーを別の照合順序キーと比較します。 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
|
| Equals(CollationKey) |
この CollationKey と引数ターゲット CollationKey を比較し、等しいかどうかを確認します。 |
| Equals(Object) |
|
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| GetBound(Int32, Int32) |
特定の照合順序キーと強度レベルの並べ替え順序のバインドを生成します。 |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| JavaFinalize() |
古い.
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Merge(CollationKey) |
この CollationKey を別の照合順序キーとマージします。 |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToByteArray() |
この CollationKey の値を、null で終わるビッグ エンディアン バイトのシーケンスとして複製して返します。 |
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IComparable.CompareTo(Object) |
|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|