zoukankan      html  css  js  c++  java
  • 【Java】【集合类】Java 中初始化 List 集合的方式

     

    List 是在开发中比较常用的集合,今天总结一下 Java 中初始化 List 的几种方式。

    1、常规方式

    List<String> list = new ArrayList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    System.out.println("getList1: " + list);
    

    输出

    getList1: [1, 2, 3]
    

    2、Arrays 工具类

    // 生成的list不可变
    List<String> list = Arrays.asList("1", "2", "3");
    System.out.println("getList2: " + list);
    // 如果要可变需要用ArrayList包装一下
    List<String> numbers = new ArrayList<>(Arrays.asList("1", "2", "3"));
    numbers.add("4");
    System.out.println("numbers: " + numbers);
    

    输出

    getList2: [1, 2, 3]
    numbers: [1, 2, 3, 4]
    

    3、Collections 工具类

    // 生成的list不可变
    List<String> list = Collections.nCopies(3, "1");
    System.out.println("getList3: " + list);
    // 如果要可变需要用ArrayList包装一下
    List<String> dogs = new ArrayList<>(Collections.nCopies(3, "dog"));
    dogs.add("dog");
    System.out.println("dogs: " + dogs);
    

    输出

    getList3: [1, 1, 1]
    dogs: [dog, dog, dog, dog]
    

    4、Lists 工具类

    List<String> list = Lists.newArrayList("1", "2", "3");
    System.out.println("getList4: " + list);
    

    输出

    getList4: [1, 2, 3]
    

    5、匿名内部类

    List<String> list = new ArrayList<String>() {{
         add("1");
         add("2");
         add("3");
    }};
    System.out.println("getList5: " + list);
    

    输出

    getList5: [1, 2, 3]
    

    6、ImmutableList

    List<String> list = ImmutableList.of("1", "2", "3");
    System.out.println("getList6: " + list);
    

    输出

    getList6: [1, 2, 3]
    

    7、Java8 Stream

    List<String> list = Stream.of("1", "2", "3").collect(Collectors.toList());
    System.out.println("getList7: " + list);
    

    输出

    getList7: [1, 2, 3]
    

    8、Java9 List.of

    List<String> list = List.of{"1", "2", "3"};
    System.out.println("getList8: " + list);
    

    输出

    getList8: [1, 2, 3]
    

     

  • 相关阅读:
    【javascript基础】【转】各浏览器对页面外部资源加载的策略
    【javascript基础】【转】javascript模块化、模块加载器初探
    【javascript基础】js线程机制【转】
    【css】【转】那些年我们一起清除过的浮动
    IL入门之旅(三)——Dump对象
    学习TPL(一)
    弱引用应用的注意点
    IL入门之旅(二)——动态包装
    学习TPL(二)
    IL之旅(前言)
  • 原文地址:https://www.cnblogs.com/zzsuje/p/15103195.html
Copyright © 2011-2022 走看看