java中Map和List初始化的N种方法总结
Map和List初始化方法
第一种方法(常用方法)
//初始化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");
第二种方法(双括号初始化法)
又叫匿名内部类初始化法,会产生大量的匿名内部类class,不建议使用
//初始化List List<string> list = new ArrayList<string>(){{ add("string1"); add("string2"); add("stringN"); }}; //初始化Map Map</String , String> map = new HashMap</String , Object>(){{ put("key1", "value1"); put("key2", "value2"); put("keyN", "valueN"); }};
第三种,stream初始化
在Java9中可使用LIst.of Map.of Set.of创建并初始化,但是注意创建的是不可变集合
Map map = Stream.of(1,2,3,4).collect(Collectors.toMap(o -> o,integer -> integer,(o, o2) -> o2,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("Tom", "Jerry", "Mike"));
利用Collections初始化
List<Integer> useCases = new ArrayList<Integer>(); Collections.addAll(useCases, 47, 48, 49, 50);
初始化Map和List小技巧(指定容量+匿名内部类初始化)
在初始化Map和List时,可以手动指定其容量,然后按照匿名内部类这种方式初始化数据,代码看起来会很清爽。
List<String> list = new ArrayList<String>(2) {{ add("1"); add("2"); }}; Map<String, Object> map = new HashMap<String, Object>(2) {{ put("key1", "obj1"); put("key2", "obj2"); }};
在已经知道容量大小的情况下,指定容量会减小开销。
外层“{}”创建了一个匿名子类,内层“{}”创建了一个对象构造块。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Idea2019创建Springboot Web项目的方法步骤
这篇文章主要介绍了Idea2019创建Springboot Web项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-10-10SpringBoot中@ConditionalOnProperty注解的使用方法详解
这篇文章主要介绍了SpringBoot中@ConditionalOnProperty注解的使用方法详解,在开发基于SpringBoot框架的项目时,会用到下面的条件注解,有时会有需要控制配置类是否生效或注入到Spring上下文中的场景,可以使用@ConditionalOnProperty注解来控制,需要的朋友可以参考下2024-01-01Springboot使用Spring Data JPA实现数据库操作
Spring Data JPA 是 Spring 基于 Spring Data 框架、在JPA 规范的基础上开发的一个框架,使用 Spring Data JPA 可以极大地简化JPA 的写法,本章我们将详细介绍在Springboot中使用 Spring Data JPA 来实现对数据库的操作2021-06-06
最新评论