【Java】チートシート【List編】
目次
初期化
// 基本型
List<String> list1 = new ArrayList<String>();
// 初期化時に値を設定 Arrays.asList
List<String> list2 = new ArrayList<String>(Arrays.asList("AA","BB","CC"));
// 初期化時に値を設定 add
List<String> list3 = new ArrayList<String>(){
{
add("AA");
add("BB");
add("CC");
}
};
// サイズを指定
List<String> list4 = new ArrayList<String>(100);
// Arrays.asListで初期化
// ※※要素の追加・削除ができないので注意※※
List<String> list5 = Arrays.asList("AA","BB","CC");
追加
// 追加
// 基本形
list.add("ABC");
// 追加位置を指定
list.add(1,"DEF");
// まとめて追加
Collections.addAll(list,"あいう","えおか","きくけ");
削除
// 要素番号指定で削除
list.remove(1);
// 値指定で削除
list.remove(list.indexOf("ABC"));
// D始まりの要素を削除
list.removeIf(s-> s.startsWith("D"));
// 指定したコレクションの要素を削除
List<String> delList = new ArrayList<String>(Arrays.asList("あいう","えおか","きくけ"));
list.removeAll(delList);
// 全削除
list.clear();
連結
// 連結
list1.addAll(list2);
// インデックスの2番目以降に連結
list1.addAll(2,list2);
繰り返し・ループ
// for文
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i));
}
// 拡張for文
for (String str : list) {
System.out.print(str);
}
// Iterator
for (Iterator<String> it = list.iterator(); it.hasNext();) {
System.out.print(it.next());
}
合計・平均(for文)
// 拡張for文
for(int data: list) {
sum += data; // 合計
}
average = sum / list.size(); // 平均
合計・平均(ストリームAPI)
// Integer合計
list.stream()
.mapToInt(a->a)
.sum();
// Integer平均
list.stream()
.mapToInt(a->a)
.average()
.getAsDouble();
// Double合計
list.stream()
.mapToDouble(a->a)
.sum();
// Double平均
list.stream()
.mapToDouble(a->a)
.average()
.getAsDouble();
ソート
// 昇順
Collections.sort(list);
// 降順
Collections.reverse(list);
要素数
list.size();
空チェック
list.isEmpty(); // 空の場合true
指定の値が存在するか
list.contains("ABC"); // ABCを含む場合true