java.util

java.util.Arrays

Arrays#asList

引数の要素をイミュータブルなListにする。ミュータブルにしたい場合はArrayListに渡すなどすればよい

List<String> stringList = Arrays.asList("a", "b", "c");
stringList.add("d"); // ng! UnsupportedOperationException

List<String> mutableStringList = new ArrayList(Arrays.asList("a", "b", "c"));
mutableStringList.add("d"); //ok!

java.util.Map

Map#of

イミュータブルなMapを作る。さくっと決め打ちのMapを作りたいときに便利

Map<String, Integer> idAndAge = Map.of(
                                  "taro", 21,
                                  "hanako", 22);

Map#getOrDefault

第一引数にキー、第二引数に要素が見つからなかったときのデフォルト値を入れる

Map<String, Integer> idAndAge = Map.of(
                                  "taro", 21,
                                  "hanako", 22);
var taroAge = idAndAge.getOrDefault("taro", 1); // 21
var yuta = idAndAge.getOrDefault("yuta", 1); // 1

Map#putIfAbsent

対応するキーが存在しないときだけ値をputします

putの場合は対応するキーが存在するときは値を上書いてしまう

Map<String, Integer> idAndAge = new HashMap<>(Map.of(
                                  "taro", 21,
                                  "hanako", 22));
idAndAge.putIfAbsent("taro", 22); // taroは21のまま
idAndAge.putIfAbsent("yuta", 10); // "yuta": 10のペアが追加される

java.util.List

List#of

イミュータブルなListを作る。変更可能にしたい場合はArrayListなどに渡す