Map
- 逐个初始化
java8及以前
Map<Character, Integer> map = new HashMap<Character, Integer>(){{
put('+', 1);
put('-', 1);
put('*', 2);
put('/', 2);
}};
java9新特性
//此方法生成的map为不可变类型
Map<String, String> map = Map.of(
"a", "b",
"c", "d");
Set
java5及之前
使用另一个Collection类实例
Set<String> set = new HashSet<>(Arrays.asList("a", "b", "c"));
使用匿名类
//相当于一个Set类的实现类内用了一个初始化块
Set<Character> set = new HashSet<>(){{
add('a');
add('e');
add('i');
add('o');
add('u');
}};
java8
Set<Character> set = new HashSet<>();
Collections.addAll(set, 'a', 'e', 'i', 'o', 'u');
java9
//Java9支持!此方法生成的set不可变!
Set<Character> set = Set.of('a', 'e', 'i', 'o', 'u');