クラスライブラリVectorを用いると、動的な配列が利用できます。しかしながら、現在ではパフォーマンスの観点から、代替機能としてArrayListを使用することが推奨されています。
sample.java
import java.util.Vector;
import java.util.Enumeration; // クラスライブラリEnumerationでベクトルを走査できます
class Sample {
public static void main(String args[]) {
Vector<Integer> vec = new Vector<Integer>(); //デフォルトでは要素の格納可能数は10です
// Vector<Integer> vec = new Vector<Integer>(128); //指定可能
// 要素を追加すると必要に応じて自動拡張
System.out.println(vec.capacity());
System.out.println(vec.size());
System.out.println(vec.isEmpty());
// 要素の追加および取得
for(int i=0; i<20; ++i) vec.add(i);
System.out.println(vec);
System.out.println(vec.get(8));
// 要素を追加すると必要に応じて自動拡張
System.out.println(vec.capacity());
System.out.println(vec.size());
System.out.println(vec.isEmpty());
// Enumerationを利用した走査
Enumeration<Integer> e = vec.elements();
while(e.hasMoreElements()) {
Integer val = e.nextElement();
System.out.println(val);
}
}
}
実行例
$ javac sample.java && java Sample
10
0
true
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
8
20
20
false
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sample.java
import java.util.List;
import java.util.ArrayList;
class Sample {
public static void main(String args[]) {
List<Integer> list = new ArrayList<Integer>();
// 要素の追加および取得
for(int i=0; i<20; ++i) list.add(i);
System.out.println(list);
System.out.println(list.get(8));
System.out.println(list.size());
System.out.println(list.isEmpty());
}
}
実行例
$ javac sample.java && java Sample
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
8
20
false