ArrayList
Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle
大きさが決まっていないものを配列に格納したいときは、ArrayListを使うみたいです。
今のところ、よく分かってません。
public class Test { public static void main(String[] args) { //初期容量10で空のリストを作成 ArrayList<String> array = new ArrayList<String>(); //初期容量20 //ArrayList<String> array = new ArrayList<String>(20); array.add("A"); array.add("B"); array.add("C"); array.add("A"); System.out.println(array.get(1)); //B System.out.println(array.size()); //4 array.set(1,"BBB"); System.out.println(array.get(1)); //BBB System.out.println(array.indexOf("A")); //0 最初から検索 System.out.println(array.lastIndexOf("A")); //3 最後から検索 System.out.println(array); //全要素の表示 System.out.println(array.remove(2)); //2番目の要素を削除 System.out.println(array); //全要素の表示 array.clear(); System.out.println(array); //全要素の表示 } }
メソッドを使ってみた。
インスタンス化は、
ArrayList<型> 変数名 = new ArrayList<型>();
"型"に指定するのは、格納したい値のオブジェクト。
例えば、文字列型のStringを配列に格納したい場合は、
ArrayList<String> 変数名 = new ArrayList<String>();
となる。
基本型(プリミティブ primitive)を格納したい場合は、注意が必要。
基本型に対応したクラス(ラッパークラス)を指定する必要がある。
Boolean boolean Character char Byte byte Short short Integer int Long long Float float Doubule double
例えば、基本型のint配列を格納したい場合、
ArrayList<Integer> value = new ArrayList<Integer>(); value.add(100); value.add(200); value.add(300); value.add(100);
と、なる。
それから、格納してある全配列を表示するのは、ソースでは
System.out.println(array);
と、しているが以下のような方法もある。
for(int i=0;i<array.size();i++) { System.out.println(array.get(i)); }
ちなみに、以下の方法はエラー。
for(int i=0;i<array.size();i++) { System.out.println(array[i]); //エラー }
ちなみに、ちなみに拡張for文を使って以下のようにも書ける。
for(String x : array) {
System.out.println(x);
}
読ませて頂きました。
コレクション(ArrayList) | Java入門
拡張for文 - rderaログ