最常见的初始化 List 方法为:

List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("PHP");
languages.add("Python");
System.out.println(languages);

但是实际上,我们并不会直接使用 new ArrayList 来初始化 List。

你可以使用 Guava 的 newArrayList 来直接初始化。

List<String> languages = Lists.newArrayList();

上面 2 种方法初始化的 List 是可变的,因此你可以对初始化成功的 List 进行添加和删除。

Arrays

使用这个方法初始化的 List 是不可变的。

考虑使用下面的代码来初始化一个 List。

List<Integer> list1 = Arrays.asList(1,2);

Arrays 是 JDK 的一个类,你可以使用这个类来初始化一个 List。

考察下面的代码:

        List<Integer> list1 = Arrays.asList(1,2);list1.add(3);

将会给你一个:java.lang.UnsupportedOperationException 异常。

这是一个运行时错误,不是编译错误。

因此你在编译的时候是不会提示的。

List

使用这个方法初始化的 List 是不可变的。

考虑使用下面的代码来初始化一个 List。

List<Integer> list = List.of(1,2);

List 是 JDK 的一个类,你可以使用这个类来初始化一个 List。

考察下面的代码:

        List<Integer> list1 = List.of(1,2);list1.add(3);

将会给你一个:java.lang.UnsupportedOperationException 异常。

将不可变 List 变成可变

如果 List 是不可变的。

我们可以使用 new ArrayList<> 来包装下就可以了

考察下面的代码:

        List<Integer>list2 = new ArrayList<>(Arrays.asList(1,2));list2.add(3);

如果使用上面的代码的话,你创建的 List 就可以是可变的了,可以对创建的 List 进行修改和删除。

Java 初始化 List 的几种方法 - Java - OSSEZhttps://www.ossez.com/t/java-list/13915

Java 初始化 List 的几种方法相关推荐

  1. 在 Java 中初始化 List 的五种方法

    转载自  在 Java 中初始化 List 的五种方法 Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式. 1.构造 List 后使用 List.add 初始化 List< ...

  2. java创建数组的两种方法

    java创建数组的两种方法 1,静态初始化 int[] array={1,2,3,4,5}; 2,动态初始化 1)先分配空间再给数组元素赋值 int[] array=new int[10]; //需指 ...

  3. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  4. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax;import org.xml.sax.Attributes; import org.xml.sax.SAXEx ...

  5. Java 创建线程的三种方法比较

    在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java 创建线程的三种方法比较, 更多Java专业知识,广州疯狂jav ...

  6. java多线程同步的四种方法_java中实现多线程的两种方法

    java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...

  7. java 字符串截取的几种方式 java获取当前路径的几种方法

    java 字符串截取的几种方式: https://blog.csdn.net/qq_27603235/article/details/51604584 java获取当前路径的几种方法: https:/ ...

  8. java 获取包路径_java获取java文件路径的四种方法

    java获取java文件路径的四种方法 发布时间:2020-04-17 11:03:45 来源:亿速云 阅读:750 作者:小新 今天小编给大家分享的是java获取java文件路径的四种方法,很多人都 ...

  9. Java遍历Map的5种方法

    Map作为Java中的一种集合,以键值对的形式存放一批数据,经常会被我们应用在项目中. 既然是一种集合,自然就有需要遍历的场景.今天就来说5种遍历Map的方法. 01通过map对象的entrySet遍 ...

最新文章

  1. find查找多个文件
  2. Centos下通过SMTP发送邮件失败解决
  3. Downsample 平移不变性
  4. Openldap配置TLS加密传输(完整版——手动配置)
  5. 如何在 InfoPath 2003 表单中动态加载数据
  6. 第八天2017/04/17(2、❤String类的源代码)
  7. 《零基础看得懂的C语言入门教程 》——(十三)socket服务端编写
  8. python没有这个xlwt模块_python xlwt模块简介
  9. duration java_Java Duration类| minusMillis()方法与示例
  10. 怎么让电脑屏幕一直亮着_电脑屏幕总是闪烁?试试这个方法
  11. 金融时序预测中的深度学习方法综述!
  12. 如何在 Mac 上的“屏幕使用时间”中设置限定通信?
  13. ABAQUS使用功能总结
  14. vue做混合式app_基于vue2.0开发混合app的思考
  15. 实时网速怎么看快慢_怎么测试下载速度(教你安全检测网速快慢)
  16. 计算机病毒及其治疗的教案,计算机病毒教案(公开课)原创配套
  17. 不要迷恋我,虽然我利用Python来耍植物大战僵尸,威力加强版
  18. 永恒之蓝漏洞复现-CVE-2017-0144
  19. 关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)...
  20. springboot 2.X jdbc 实现session共享mysql

热门文章

  1. Kali linux-信息收集-dmitry
  2. gitlab撤销已经合并到master的提交
  3. git 取消commit
  4. ups计算软件_在线式和后备式UPS电源的选择和购买(弱电干货)
  5. Ubuntu18.04安装miniconda3(小白小白看這裡!!!!)
  6. ubuntu上踩的坑—阿里云上创建服务器(深度学习)
  7. Charles破解网站收藏(持续更新)
  8. 22、(转载)jQueryMobile 知识点总结
  9. AS5600使用简介
  10. 记录一下Oracle常用的索引相关的sql语句