Javaにおけるデータ型と例外処理
Jim White
Java Developer
List インターフェース(Collection のサブインターフェース)List の実装はいくつかありますArrayList:可変長でインデックス付き(配列のような)順序リスト
LinkedList:前後の要素へのリンクで接続されたリスト
new で生成し、ジェネリクスで要素型を指定.add(object).get(index)ArrayList は 0 始まりのインデックス.set(index, object).remove(index).clear().size()import java.util.ArrayList; ... ArrayList<String> animals = new ArrayList<String>();animals.add("horse"); animals.add("cow"); animals.add("horse"); // 重複可String c = animals.get(1); // c="cow" animals.set(1, "chicken");// 最初の horse を削除 animals.remove(0); // 全要素を削除 animals.clear();animals.size();
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(new Integer(5));
list.add(6); // 6 は自動で Integer に包まれて追加
Object を使うArrayList<Object> list = new ArrayList<Object>(); // 任意のオブジェクト可
list.add(new Integer(5)); // Integer を追加
list.add(6); // オートボクシングで Integer を追加
list.add("Hello"); // String を追加
List の要素は拡張 for 構文で反復しますArrayList<String> animals = new ArrayList<String>();
animals.add("horse");
animals.add("cow");
animals.add("chicken");
for (String animal : animals) { // 拡張 for で全要素を走査
System.out.println(animal);
}
horse
cow
chicken
ArrayList などの List は println で内容を表示できますArrayList<String> animals = new ArrayList<String>();
animals.add("horse");
animals.add("cow");
animals.add("chicken");
System.out.println(animals); // すべての要素を表示
ArrayList<Object> list = new ArrayList<Object>();
list.add(5);
list.add("Hello");
System.out.println(list); // すべての要素を表示
[horse, cow, chicken]
[5, Hello]
LinkedList は ArrayList と同様に生成しますArrayList と同じですimport java.util.LinkedList;
...
LinkedList<String> cars // 新しい ... を作成
= new LinkedList<String>(); // ... LinkedList
cars.add("Ford"); // 追加
cars.add("Mercedes");
String c = cars.get(1);
cars.set(1, "Toyota"); // 置換
System.out.println(cars); // 表示
cars.remove(0); // 削除
cars.clear(); // 全削除
cars.size(); // 要素数
[Ford, Toyota]
addFirst() 先頭に追加addLast() 末尾に追加removeFirst() 先頭を削除removeLast() 末尾を削除cars.addFirst("Fiat"); // 先頭に追加
cars.addLast("BMW"); // 末尾に追加
cars.removeFirst(); // 先頭を削除
cars.removeLast(); // 末尾を削除
ArrayList と LinkedList は見た目が似ていますList ですArrayList と LinkedList(任意の List)の操作は同じList を選ぶかは用途次第ArrayList のポイント:list.get(11))
LinkedList のポイント:list.get(11))
Javaにおけるデータ型と例外処理