|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.text.CollationKey
public final class CollationKey
CollationKey
は、特定の Collator
オブジェクトのルールのもとにある String
を表します。2 つの CollationKey
を比較すると、それらが表す String
の相対順序が返されます。CollationKey
を使用して String
を比較する方が一般に Collator.compare
よりも高速です。したがって、複数の String
を何回も比較する場合 (たとえば、String
のリストをソートする場合) には、CollationKey
を使う方が効率的です。
CollationKey
を直接作成することはできません。それらを生成するには、Collator.getCollationKey
を呼び出す必要があります。CollationKey
を比較する場合、それらは同じ Collator
オブジェクトから生成しなければなりません。
String
の CollationKey
を生成するためには、String
全体を調べ、それを、ビット単位で比較できるビット列に変換する必要があります。こうすると、キーが生成されたあとで、比較が高速に行われます。キーを生成するコストは、String
を何回も比較する必要がある場合には、高速な比較によって埋め合せることができます。一方、比較の結果は、それぞれの String
の最初の 2 文字で決まることがよくあります。Collator.compare
では、必要な文字数だけが比較されるので、単一の比較ではこの方が高速です。
次の例は、CollationKey
を使用して、String
のリストをソートする場合を示したものです。
// 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 );
//...
// Inside body of sort routine, compare keys this way if( keys[i].compareTo( keys[j] ) > 0 ) // swap keys[i] and keys[j]
//...
// 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() );
Collator
,
RuleBasedCollator
メソッドの概要 | |
---|---|
int |
compareTo(CollationKey target)
この CollationKey をターゲットの CollationKey と比較します。 |
boolean |
equals(Object target)
CollationKey とターゲットの CollationKey が等しいかどうかを比較します。 |
String |
getSourceString()
この CollationKey が表す String を返します。 |
int |
hashCode()
CollationKey のハッシュコードを作成します。 |
byte[] |
toByteArray()
CollationKey をビット列に変換します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
---|
public int compareTo(CollationKey target)
Comparable<CollationKey>
内の compareTo
target
- ターゲットの CollationKey
Collator.compare(java.lang.String, java.lang.String)
public boolean equals(Object target)
Object
内の equals
target
- 比較対象の CollationKey
Object.hashCode()
,
Hashtable
public int hashCode()
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String getSourceString()
public byte[] toByteArray()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。