zoukankan      html  css  js  c++  java
  • Java 中初始化 List 集合的 8 种方式!

    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]
    

     

  • 相关阅读:
    java.lang.String 的 + 号操作到底做了什么事情?
    我的【Java】面试日记
    ReentrantLock源码学习总结 (二)
    ReentrantLock源码学习总结 (一)
    【Dubbo】带着问题看源码:什么是SPI机制?Dubbo是如何实现的?
    假如 Redis Cluster 模式用在 T-io 上
    Win10下安装tensorflow详细过程
    Python 3.7 使用pyhive (坑)
    ARIMA
    AttributeError: 'Series' object has no attribute 'ix'
  • 原文地址:https://www.cnblogs.com/interdrp/p/14260891.html
Copyright © 2011-2022 走看看