1
生成 new ArrayList<型>()
ArrayList<String> list = new ArrayList<String>(); で、String 型の要素を持つ List を作ります。型には Integer, Double, Boolean, String などが使えます。
大きさを決めずに、要素を追加・削除できるリスト
値の集合を効率よく管理するためのクラスです。代表的な種類があります。
配列は生成時に大きさが決まり、後から x[3] が必要になっても対応できません。
List は生成時に大きさを決めなくてよく、必要に応じて要素を追加・削除できます。
// 配列:大きさが固定される
int[] x = new int[3]; // x[3] は使えない
// List:大きさは自由に変えられる
import java.util.*;
ArrayList<String> list = new ArrayList<String>();
list.size() は 0
new ArrayList<型>()ArrayList<String> list = new ArrayList<String>(); で、String 型の要素を持つ List を作ります。型には Integer, Double, Boolean, String などが使えます。
list.get(番号)要素の番号は配列の添字と同じく 0 から始まります。list.get(0) が先頭の要素です。
list.add(値) / list.add(番号, 値)引数が値だけなら末尾に追加。番号も指定するとその位置に割り込み、後ろの要素は 1 つずつ後ろへずれます。
list.set(番号, 値)指定した位置の要素を書き換えます。要素数は変わりません(add とは違い割り込みません)。
list.remove(番号) / 大きさ list.size()指定位置の要素を削除すると後ろの要素が前へ詰まります。list.size() は現在の要素数を返します。
import java.util.*; // 準備
ArrayList<String> list = new ArrayList<String>();
list.add("Alice"); // 末尾に追加
list.add("Bob"); // 末尾に追加
list.add(1, "Chris"); // 1番目に割り込み
list.set(0, "Mike"); // 先頭を上書き
list.remove(1); // 1番目を削除
for (int i = 0; i < list.size(); i++) {
println(list.get(i)); // i番目を表示
}
上のコードを順に実行したときの最終的な list と出力です。
Iterator は「操作対象の要素を指す矢印」です。next() で次の要素へ進み、その値を返します。hasNext() は次の要素があるか(true / false)を返します。
it = list.iterator();
先頭の手前を指しています
import java.util.*;
Iterator<String> it = list.iterator();
while (it.hasNext()) { // 次の要素がある間くり返す
println(it.next()); // 表示して次へ進める
}
// for と size()・get() でも同じ動作
for (int i = 0; i < list.size(); i++) {
println(list.get(i));
}
iterator()
List から Iterator を取り出します。最初は先頭の要素の手前を指しています。
next()
矢印を次の要素へ進め、その要素の値を返します。Alice → Bob → Chris の順です。
hasNext()
次に取り出す要素が残っていれば true、最後まで進んでいれば false を返します。
Javaの学習用の教材ページです。