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

インタフェースCharacterIterator

  • すべてのスーパー・インタフェース:
    Cloneable
    既知のすべてのサブインタフェース:
    AttributedCharacterIterator
    既知のすべての実装クラス:
    Segment, StringCharacterIterator


    public interface CharacterIterator
    extends Cloneable
    このインタフェースは、テキストにおける双方向の反復のプロトコルを定義します。 イテレータは、結合された文字シーケンスにおいて反復します。 文字は、getBeginIndex()で返される値で始まり、getEndIndex()-1で返される値まで続く値を使ってインデックス処理されます。

    イテレータは、有効範囲がgetBeginIndex()からgetEndIndex()の現在の文字インデックスを維持します。値getEndIndex()が含まれているのは、ゼロ長のテキスト範囲の操作を可能にするためと、歴史的な理由によります。 現在のインデックスは、getIndex()を呼び出すことによって検索でき、setIndex()、first()、およびlast()を呼び出すことによって直接設定できます。

    previous()メソッドとnext()メソッドは繰返し処理に使用されます。 これらのメソッドは、getBeginIndex()からgetEndIndex() -1の範囲から外れるように動くと、DONEを返すことにより、イテレータがシーケンスの終わりに達したことを示します。 また、ほかのメソッドからDONEが返された場合は、現在のインデックスがこの範囲外にあることを示します。

    テキストの始めから終わりの方向へたどります。

    
     public void traverseForward(CharacterIterator iter) {
         for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
             processChar(c);
         }
     }
     
    テキストを終わりから始めの方向へ逆方向にたどります。
    
     public void traverseBackward(CharacterIterator iter) {
         for(char c = iter.last(); c != CharacterIterator.DONE; c = iter.previous()) {
             processChar(c);
         }
     }
     
    指定されたテキストの位置から前方向と逆方向の両方へたどります。 この例でのnotBoundary()の呼出しは、その他の停止基準を表しています。
    
     public void traverseOut(CharacterIterator iter, int pos) {
         for (char c = iter.setIndex(pos);
                  c != CharacterIterator.DONE && notBoundary(c);
                  c = iter.next()) {
         }
         int end = iter.getIndex();
         for (char c = iter.setIndex(pos);
                 c != CharacterIterator.DONE && notBoundary(c);
                 c = iter.previous()) {
         }
         int start = iter.getIndex();
         processSection(start, end);
     }
     
    導入されたバージョン:
    1.1
    関連項目:
    StringCharacterIterator, AttributedCharacterIterator
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      static char DONE
      イテレータがテキストの終わりか始めに達したときに返される定数です。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      Object clone​()
      イテレータのコピーを作成します。
      char current​()
      現在位置(getIndex()によって返される位置)にある文字を取得します。
      char first​()
      位置をgetBeginIndex()に設定して、その位置にある文字を返します。
      int getBeginIndex​()
      テキストの開始インデックスを返します。
      int getEndIndex​()
      テキストの終了インデックスを返します。
      int getIndex​()
      現在のインデックスを返します。
      char last​()
      位置をgetEndIndex()-1 (テキストが空の場合はgetEndIndex())に設定して、その位置にある文字を返します。
      char next​()
      イテレータのインデックスを1増やし、新しいインデックスにある文字を返します。
      char previous​()
      イテレータのインデックスを1減らし、新しいインデックスにある文字を返します。
      char setIndex​(int position)
      位置を指定されたテキストの位置に設定して、その文字を返します。
    • フィールドの詳細

      • DONE

        static final char DONE
        イテレータがテキストの終わりか始めに達したときに返される定数です。 値は'\uFFFF'であり、有効なUnicode文字列で使用できない「文字でない」値です。
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • first

        char first​()
        位置をgetBeginIndex()に設定して、その位置にある文字を返します。
        戻り値:
        テキスト内の先頭文字。テキストが空の場合はDONE
        関連項目:
        getBeginIndex()
      • last

        char last​()
        位置をgetEndIndex()-1 (テキストが空の場合はgetEndIndex())に設定して、その位置にある文字を返します。
        戻り値:
        テキスト内の最後の文字。テキストが空の場合はDONE
        関連項目:
        getEndIndex()
      • current

        char current​()
        現在位置(getIndex()によって返される位置)にある文字を取得します。
        戻り値:
        現在位置にある文字。現在位置がテキストの終わりを過ぎている場合はDONE
        関連項目:
        getIndex()
      • next

        char next​()
        イテレータのインデックスを1増やし、新しいインデックスにある文字を返します。 結果のインデックスがgetEndIndex()より大きいか、それに等しい場合、現在のインデックスがgetEndIndex()にリセットされ、値DONEが返されます。
        戻り値:
        新しい位置にある文字。新しい位置がテキスト範囲の終わりを過ぎている場合はDONE
      • previous

        char previous​()
        イテレータのインデックスを1減らし、新しいインデックスにある文字を返します。 現在のインデックスがgetBeginIndex()の場合、インデックスはgetBeginIndex()のまま変わらず、値DONEが返されます。
        戻り値:
        新しい位置にある文字。現在の位置がgetBeginIndex()に等しい場合はDONE
      • setIndex

        char setIndex​(int position)
        位置を指定されたテキストの位置に設定して、その文字を返します。
        パラメータ:
        position - テキスト内の位置。 有効な値は、getBeginIndex()からgetEndIndex()。 無効な値を指定すると、IllegalArgumentExceptionがスローされる。
        戻り値:
        指定された位置にある文字。指定された位置がgetEndIndex()に等しい場合はDONE
      • getBeginIndex

        int getBeginIndex​()
        テキストの開始インデックスを返します。
        戻り値:
        テキストが始まる位置のインデックス。
      • getEndIndex

        int getEndIndex​()
        テキストの終了インデックスを返します。 このインデックスは、テキストの終わりの次の文字のインデックスです。
        戻り値:
        テキスト内の最後の文字の次のインデックス
      • getIndex

        int getIndex​()
        現在のインデックスを返します。
        戻り値:
        現在のインデックス。
      • clone

        Object clone​()
        イテレータのコピーを作成します。
        戻り値:
        このイテレータのコピー