第一种方法
初始化List
List<string> list = new ArrayList<string><string>();
list.add("string1");
list.add("string2");
list.add("stringN");
初始化Map
Map</String , Object> map = new HashMap</String , Object>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("keyN", "valueN");
第二种方法(双括号初始化法/匿名内部类)
初始化List
List<string> list = new ArrayList<string>(){{
add("string1");
add("string2");
add("stringN"); }};
初始化Map
Map</String , String> map = new HashMap</String , Object>(){{
put("keyOne", "valueOne");
put("keyTwo", "valueTwo");
put("keyThree", "valueThree");
}};
慎用, 非静态内部类/ 匿名内部类包含了外围实例的引用, 如果拥有比外部类更长的生命周期,
有内存泄露隐患
stream初始化
Map map = Stream.of(1,2,3,4).collect(
Collectors.toMap(x -> x, integer -> integer,(key, value) -> value, HashMap::new));
System.out.println(JSONObject.toJSONString(map));
List list = Stream.of(1,2,3,4).collect(Collectors.toList());
System.out.println(JSONObject.toJSONString(list));
利用Array与ArrayList的相互转换方法初始化ArrayList,代码如下:
ArrayList<String> list = new ArrayList(Arrays.asList("banana", "milk", "bacon"));