• ベストアンサー

大きさがわからない配列

String型の配列で、文字列を格納していきたいのですが、 格納する文字列はいくつ来るかわかりません。 配列を大きさを確保しないで、どんどん文字列を 格納していくことはできますか? ブログのURLを格納するのですが、

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは Javaの配列の仕様上、一旦、作成したら変更はできません。もし、変更する場合には再度newして、新しい配列を作り直すしかありません。 そのため、今回のような不特定多数のデータを取り扱うには、java.utilパッケージにあるListインターフェースを利用します。インターフェースはそのままでは使えないので、実装したArrayList、LinkedListやVectorクラスを使用するでしょう(いずれもjava.utilパッケージのクラスです)。 これらのインターフェース/クラスには、toArrayという配列を取得するメソッドがありますので、配列がほしくなったら、このメソッドを利用します。 中抜けですが、実装イメージは、下の通りです。ご参考ください。 import java.util.*; // リストを用意する ArrayList list = new ArrayList(); // そのとき次第ですが、ループがあるとします。 while (true) {  // なんか文字列をもらって、  String data = なんかの処理  // その文字列をリストに追加する  list.add(data); } // 配列を使いたいと思った String[] strArray = null; // リストに詰め込んだ文字列分だけ用意する strArray = new String[ list.size() ]; // リストから配列に変換する list.toArray(strArray);

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/List.html
Judau_MSZ-010
質問者

お礼

ありがとうございます!! とても約に立ちました!

その他の回答 (1)

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

java.util.ArrayListを使ってください。

Judau_MSZ-010
質問者

お礼

ありがとうございます!

関連するQ&A