java中Map和List初始化的N种方法总结

 更新时间:2023年03月22日 10:09:42   作者:网瘾少年徐志摩  
这篇文章主要介绍了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");
}};

在已经知道容量大小的情况下,指定容量会减小开销。

外层“{}”创建了一个匿名子类,内层“{}”创建了一个对象构造块。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JDBC三层架构深入刨析

    JDBC三层架构深入刨析

    三层架构是一种软件设计架构,是一种组织代码的手段和方法,三层架构的优点是扩展性好,复用性高;缺点是步骤多,比较繁琐;代码多,效率降低
    2022-12-12
  • Java操作集合工具类Collections使用详解

    Java操作集合工具类Collections使用详解

    这篇文章主要介绍了java操作集合工具类Collections使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • struts2单个文件上传的两种实现方式

    struts2单个文件上传的两种实现方式

    这篇文章主要介绍了struts2单个文件上传的两种实现方式,有需要的朋友可以参考一下
    2014-01-01
  • 使用maven生成可执行的jar包的方法

    使用maven生成可执行的jar包的方法

    这篇文章主要介绍了使用maven生成可执行的jar包的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • java poi sax方式处理大数据量excel文件

    java poi sax方式处理大数据量excel文件

    这篇文章主要介绍了java poi sax方式处理大数据量excel文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 解决ThreadLocal获取不到值大坑

    解决ThreadLocal获取不到值大坑

    这篇文章主要介绍了解决ThreadLocal获取不到值大坑
    2023-05-05
  • SpringMVC 上传文件 MultipartFile 转为 File的方法

    SpringMVC 上传文件 MultipartFile 转为 File的方法

    这篇文章主要介绍了SpringMVC 上传文件 MultipartFile 转为 File的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Java中操作超大数的方法

    Java中操作超大数的方法

    本篇文章是小编在网上整理的关于java操作超大数的方法以及解决思路,有兴趣的朋友参考学习下。
    2018-06-06
  • 一篇文章带你了解Java SpringMVC返回null

    一篇文章带你了解Java SpringMVC返回null

    这篇文章主要介绍了Spring MVC返回null,文中讲的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-10-10
  • Spring整合Mybatis框架方法剖析

    Spring整合Mybatis框架方法剖析

    这篇文章主要为大家介绍了Spring整合Mybatis框架方法剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07

最新评论