引数の要素をイミュータブルな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!
イミュータブルなMapを作る。さくっと決め打ちのMapを作りたいときに便利
Map<String, Integer> idAndAge = Map.of(
"taro", 21,
"hanako", 22);
第一引数にキー、第二引数に要素が見つからなかったときのデフォルト値を入れる
Map<String, Integer> idAndAge = Map.of(
"taro", 21,
"hanako", 22);
var taroAge = idAndAge.getOrDefault("taro", 1); // 21
var yuta = idAndAge.getOrDefault("yuta", 1); // 1
対応するキーが存在しないときだけ値を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のペアが追加される
イミュータブルなListを作る。変更可能にしたい場合はArrayListなどに渡す