Java中初始化List集合的八种方式汇总

目录
  • 1、常规方式
  • 2、Arrays 工具类
  • 3、Collections 工具类
  • 4、Lists 工具类
  • 5、匿名内部类
  • 6、ImmutableList
  • 7、Java8 Stream
  • 8、Java9 List.of
  • 总结

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 中初始化 List 集合的 6 种方式!

总结

到此这篇关于Java中初始化List集合的八种方式的文章就介绍到这了,更多相关Java初始化List集合内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java中ArrayList初始化的四种方法详解

    1 起因 在实际业务开发中, 我们经常会遇到需要临时创建一个数组的情况, 今天我们就来讲一下Java中ArrayList初始化的方法 2 解决方案 直接上结论, 总共有四种初始化方法: 双括号法 Arrays.asList stream Lists 2.1 双括号法 List<Integer> test = new ArrayList<Integer>(){{ add(1); add(2); }}; 2.2 Arrays.asList List<Integer> tes

  • Java中初始化List的5种方法示例

    前言 List是java重要的数据结构之一,我们经常接触到的有ArrayList.Vector和LinkedList三种,他们都继承来自java.util.Collection接口,类图如下 Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式. 1.构造 List 后使用 List.add 初始化 这是最常规的做法,用起来不太方便. 2.使用 {{}} 双括号语法 这种方式相对方便了一些. 外层的{}定义了一个 LinkedList 的匿名内部类.内层的{}的定义了一个实例初

  • Java初始化List方法代码实例

    List指的是集合.<>是泛型,里面指定了这个集合中存放的是什么数据. 比如有一个学生类Student,Student里面包含了学生的一些信息.这样每一个Student对象就代表了一个学生.此时List<Student>就代表这个集合中存放了很多个学生对象,这个集合就像一个班级一样. 第一种 /** * 第一种方式 * 常规方式 */ @Test public void one(){ List<String> languages = new ArrayList<&

  • 6种方法初始化JAVA中的list集合

    List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下. 1.常规方式 List<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("PHP"); languages.add("Python"); System.out.println

  • Java中List与Map初始化的一些写法分享

    Java的在还没有发现新写法之前时,我一直是这么初始化List跟Map: 复制代码 代码如下: //初始化List    List<string> list = new ArrayList</string><string>();    list.add("www.jb51.net");    list.add("string2");    //some other list.add() code......    list.add

  • Java中初始化List集合的八种方式汇总

    目录 1.常规方式 2.Arrays 工具类 3.Collections 工具类 4.Lists 工具类 5.匿名内部类 6.ImmutableList 7.Java8 Stream 8.Java9 List.of 总结 List 是在开发中比较常用的集合,今天总结一下 Java 中初始化 List 的几种方式. 1.常规方式 List<String> list = new ArrayList<>(); list.add("1"); list.add("

  • Java中遍历Map集合的5种方式总结

    方式一 通过Map.keySet使用iterator遍历 @Test public void testHashMap1() { Map<Integer, String> map = new HashMap<>(); map.put(001, "Java"); map.put(002, "数据库"); map.put(003, "Vue"); System.out.println(map); // 通过Map.keySet使

  • 详解Java中数组判断元素存在几种方式比较

    1. 通过将数组转换成List,然后使用List中的contains进行判断其是否存在 public static boolean useList(String[] arr,String containValue){ return Arrays.asList(arr).contains(containValue); } 需要注意的是Arrays.asList这个方法中转换的List并不是java.util.ArrayList而是java.util.Arrays.ArrayList,其中java.

  • 如何在Java中创建线程通信的四种方式你知道吗

    目录 1.1 创建线程 1.1.1 创建线程的四种方式 1.1.2 Thread类与Runnable接口的比较 1.1.3 Callable.Future与FutureTask 1.2 线程组和线程优先级 1.3 Java线程的状态及主要转化方法 1.4 Java线程间的通信 1.4.1 等待/通知机制 1.4.2 信号量 1.4.3 管道 总结 1.1 创建线程 1.1.1 创建线程的四种方式 [1]继承Thread类 [2]实现Runnable接口 [3]实现Callable,获取返回值 [

  • java中线程挂起的几种方式详解

    前言 在Java中使用线程的时候肯定会有线程挂起的这种情况出现,在Java中提供了3种方式:suspend/resume.wait/notify,notifyAll.park/unpark. 1.suspend/resume 这种方式已经在Java中被弃用,因为它容易引起死锁.在使用关键字synchronized的时候如 synchronized (this) { Thread.currentThread().suspend(); } 这个时候使用resume方法是无法唤醒线程的,还有一种情况是

  • java中创建写入文件的6种方式详解与源码实例

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files.write(Java 7 推荐) PrintWriter File.createNewFile FileOutputStream.write(byte[] b) 管道流 实际上不只这5种,通过管道流的排列组合,其实有更多种,但是笔者总结的这五种可以说是最常用及最佳实践,前提小知识 以前我在写技术文章

  • JAVA设计模式零基础解析之单例模式的八种方式

    目录 单例模式简介: 单例模式优点: 应用场景: 单例设计模式的八种方式: 1.饿汉式(静态常量) 2.饿汉式(静态代码块) 3.懒汉式(线程不安全) 4.懒汉式(线程安全,同步方法) 5.懒汉式(线程安全,同步代码块) 6.双重检查(推荐使用) 7.静态内部类(推荐使用) 8.枚举(推荐使用) 单例模式在JDK应用的源码分析 单例模式注意事项和细节说明 单例模式简介: 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了

  • 学习Java中的List集合

    目录 1.概述 2.List的使用 2.1List的常用方法 3.List的实现类 3.1ArrayList 3.2Vector 3.3LinkedList 3.4ArrayList与Vector的区别 1.概述 List是一个有序集合(也被称为序列).此接口的用户在列表中的每个元素都被插入的地方有精确的控制.用户可以通过它们的整数索引(在列表中的位置)访问元素,并在列表中搜索元素. 说是List集合,其实只是习惯说法,因为它是Collection接口的一个子接口(Collection有很多的子

  • Java中初始化块详解及实例代码

    Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员. 非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量. 非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被运行. 括号里的是初始化块,这里面的代码在创建Java对象时执行,而且在构造器之前执行! 其实初始化块就是构造器的补充,初始化块是

随机推荐