モジュール java.base
パッケージ java.text

クラスCollationElementIterator

java.lang.Object
java.text.CollationElementIterator

public final class CollationElementIterator extends Object
CollationElementIteratorクラスは、多国語文字列の各文字を処理するときのイテレータとして使われます。 イテレータは、位置付けされた文字の順序の優先順位を返すのに使用されます。 順序の優先順位(キーと呼ぶ)は、指定された照合オブジェクトにおいて、ある文字がどのように照合されるかを定義するものです。

たとえば、スペイン語の例を考えます:

 "ca" → the first key is key('c') and second key is key('a').
 "cha" → the first key is key('ch') and second key is key('a').
 
さらに、ドイツ語の例を示します。
 "äb" → the first key is key('a'), the second key is key('e'), and
 the third key is key('b').
 
文字のキーは、第1順序(short)、第2順序(byte)、第3順序(byte)からなる整数です。 Javaでは、その基本データ型のサイズと符号の有無が厳密に定義されます。 したがって、static関数primaryOrdersecondaryOrdertertiaryOrderは、キー値の正確性を確保するために、それぞれintshortshortを返します。

イテレータの使用例

String testString = "This is a test";
Collator col = Collator.getInstance();
if (col instanceof RuleBasedCollator ruleBasedCollator) {
    CollationElementIterator collationElementIterator = ruleBasedCollator.getCollationElementIterator(testString);
    int primaryOrder = CollationElementIterator.primaryOrder(collationElementIterator.next());
        ⋮
}

CollationElementIterator.nextは、次の文字の照合順序を返します。 照合順序は、第1順序、第2順序、第3順序からなります。 照合順序のデータ型はintです。 照合順序の最初の16ビットがその第1順序、次の8ビットが第2順序、最後の8ビットが第3順序です。

ノート: CollationElementIteratorRuleBasedCollator実装の一部です。 RuleBasedCollatorインスタンスとともにしか使用できません。

導入されたバージョン:
1.1
関連項目: