Java Mania

Java Mania

StringCharacterIterator

StringをCharacterIteraterとして扱うクラス。Stringを一文字ずつ処理するときに便利。 私的には特にこのクラスの必要性を感じなかった。なぜならStringクラスのtoCharArray()があるからだ。 まぁ、内部のインデックスを前後に行き来させる必要がある場合はStringCharacterIteratorクラスを使った方が良いのだろうが。
HomePageTop▲

How To Use -使用方法-

StringCharacterIteratorクラスは下記のように使用する。

コンストラクタの説明
StringCharacterIterator(String str)
第1引数のstrに対するイテレータを作成する。
StringCharacterIterator(String str, int pos)
第1引数のstrに対するイテレータを作成する。第2引数で初期インデックスを指定する。
メソッドの説明
※全てのメソッドを網羅していないので、詳細はAPIリファレンスを参照する。
public char first()
イテレータの先頭の文字を返す。
public char last()
イテレータの最後の文字を返す。
public char current()
現在のインデックスの文字を返す。
public char next()
次のインデックスの文字を返す。
public char previous()
前のインデックスの文字を返す。
public int getIndex()
現在のインデックスを返す。
public int getBeginIndex()
文字の最初のインデックスを返す。
public int getEndIndex()
最後の文字の次のインデックスを返す。
public char setIndex(int p)
第1引数で指定されたインデックスの文字を返す。
public void setText(String str)
イテレータをリセットして、第1引数のstrに対するイテレータを作成する。
HomePageTop▲

Source -StringCharacterIteratorTest.java-

package mania.test;

import java.text.CharacterIterator;
import java.text.StringCharacterIterator;

public class StringCharacterIteratorTest
{

  // StringCharacterIteratorの使用方法
  public static void main(String[] args)
  {
    StringCharacterIterator ite = new StringCharacterIterator("HOGE");

    System.out.println("===実行結果===");

    // 最初の文字
    System.out.println("最初の文字:" + ite.first());

    // 最後の文字
    System.out.println("最後の文字:" + ite.last());

    // 一文字ずつ取り出して処理
    int count = 1;
    for(char c = ite.first(); c != CharacterIterator.DONE; c = ite.next())
    {
      System.out.println(count ++ + "文字目:" + c);
    }

    // 新しいテキストを設定
    ite.setText("1234567890");

    // 9文字目を取得
    System.out.println("9文字目:" + ite.setIndex(9));
  }
}
HomePageTop▲

Results -実行結果-


===実行結果===
最初の文字:H
最後の文字:E
1文字目:H
2文字目:O
3文字目:G
4文字目:E
9文字目:0

HomePageTop▲

Copyright (C) 2006, JavaMania. All Rights Reserved.