Java プラットフォーム 1.2

java.text
クラス CollationElementIterator

java.lang.Object
  |
  +--java.text.CollationElementIterator

public final class CollationElementIterator
extends Object

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

スペイン語の例を示します。

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

反復子の使用例

 // get the first key of the string
 String str = "This is a test";
 CollationElementIterator c =
     new CollationElementIterator(str, 0, str.length(),
                                  Collator.getInstance());
 int primaryOrder = CollationElementIterator.primaryOrder(c->next());
 

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

関連項目:
Collator, RuleBasedCollator

フィールドの概要
static int NULLORDER
          カーソルが文字列の終わりに達したことを示す null 順序です。
 
メソッドの概要
 int getMaxExpansion(int order)
          指定された比較順序で終わるすべての展開シーケンスの最大長を返します。
 int getOffset()
          ソーステキストの現在の文字のオフセットを取得します。
 int next()
          文字列内の次の文字の優先順位を取得します。
 int previous()
          文字列内の前の文字の優先順位を取得します。
static int primaryOrder(int order)
          照合順序の第 1 順序を取得します。
 void reset()
          カーソルを文字列の先頭にリセットします。
static short secondaryOrder(int order)
          照合順序の第 2 順序を取得します。
 void setOffset(int newOffset)
          ソーステキスト内の位置を設定します。
 void setText(CharacterIterator source)
          繰り返し処理の対象となる新しい文字列を設定します。
 void setText(String source)
          繰り返し処理の対象となる新しい文字列を設定します。
static short tertiaryOrder(int order)
          照合順序の第 3 順序を取得します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

NULLORDER

public static final int NULLORDER
カーソルが文字列の終わりに達したことを示す null 順序です。
メソッドの詳細

reset

public void reset()
カーソルを文字列の先頭にリセットします。

next

public int next()
文字列内の次の文字の優先順位を取得します。
戻り値:
次の文字の順序。文字列の終わりにした場合は、NULLORDER

previous

public int previous()
文字列内の前の文字の優先順位を取得します。
戻り値:
前の要素の順序。文字列の始めに達した場合は、NULLORDER

primaryOrder

public static final int primaryOrder(int order)
照合順序の第 1 順序を取得します。
パラメータ:
order - 照合順序
戻り値:
照合順序の第 1 順序

secondaryOrder

public static final short secondaryOrder(int order)
照合順序の第 2 順序を取得します。
パラメータ:
order - 照合順序
戻り値:
照合順序の第 2 順序

tertiaryOrder

public static final short tertiaryOrder(int order)
照合順序の第 3 順序を取得します。
パラメータ:
order - 照合順序
戻り値:
照合順序の第 3 順序

setOffset

public void setOffset(int newOffset)
ソーステキスト内の位置を設定します。
パラメータ:
newOffset - テキストの先頭を基準にした新しいオフセット

getOffset

public int getOffset()
ソーステキストの現在の文字のオフセットを取得します。つまり、next() への次の呼び出しは、この文字 (言語によっては、複数の文字の場合もある) の Collation 要素を返します。
戻り値:
返されるオフセット

getMaxExpansion

public int getMaxExpansion(int order)
指定された比較順序で終わるすべての展開シーケンスの最大長を返します。
パラメータ:
order - previous または next が返す照合順序
戻り値:
指定された順序で終わるすべての展開シーケンスの最大長

setText

public void setText(String source)
繰り返し処理の対象となる新しい文字列を設定します。
パラメータ:
source - 新しいソーステキスト

setText

public void setText(CharacterIterator source)
繰り返し処理の対象となる新しい文字列を設定します。
パラメータ:
source - 新しいソーステキスト

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.