ArrayListクラスで配列を扱う
Vector classとほぼ同等の機能を持つクラスとしてArrayListがJDK1.2でリリースされました。
下のsampleではStringオブジェクトを12個登録し、それらの、列挙、削除、要素の置き換え、検索を行っています。
import java.util.*;
class ExamArrayList {
public static void main(String[] args ) {
String[] s = {"vf","ag","jt","ks","wa","kh","vr","dx","mt","ct","js","sa"};
ArrayList al = new ArrayList();
for (int i=0; i <= 11; i++) {
al.add(i, s[i]); //要素の登録
}
Iterator itr = al.iterator(); //列挙
while (itr.hasNext()) {
System.out.println(itr.next());
}
System.out.println("removed string is " + al.remove(1)); //削除
System.out.println("updated string is " + al.set(2,"reset")); //要素の置き換え
System.out.println("second string is " + al.get(1));
}
}
|
実行結果
vf
ag
jt
ks
wa
kh
vr
dx
mt
ct
js
sa
removed string is ag
updated string is ks
second string is jt
とコンソールに表示されます。
ArrayListとIterator
Vector classの要素を列挙する時は、Enumeration
classを使いましたが、これと同じ関係で
ArrayList classの要素を列挙する時は、Iterator
interfaceを使い,ます。
ArrayListはCllection interfaceを実装していますが、
Cllection interfaceを実装したしたclassはIteratorを返すメソッドを持っています。
iterator()メソッドから入手したIteratorを使って、要素を列挙します。
hasNext()メソッド:繰り返し処理の中で、まだ要素が残っている時はtrue。
next()メソッド:繰り返し処理の中で、次の要素を入手。