最常见的初始化 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. 神经网络输出数量对迭代次数的影响
  2. [转]virtualbox下安装增强工具简单步骤
  3. python虚拟环境搭建mac_mac搭建python virtualenv虚拟环境并使用 - 李金龙
  4. java new对象 =null_在Java中将对象分配为null会影响垃圾回收吗?
  5. PhpStorm之操作数据库
  6. ElasticSearch之基于地理位置的搜索
  7. 成功的CMMI过程定义
  8. 一位年轻有为的企业家李先生
  9. 怎么在服务器添加充值网站,云服务器怎么弄充值
  10. 苹果证实将弃用Windows版QuickTime
  11. 【龙讯module小课堂】“光”怪陆离:PWmat计算光学性质(一)
  12. InVEST模型(工具)下载及安装(更新中)
  13. HTML超链接使用代码
  14. 来自雨林木风的Linux发行版: Ylmf Linux
  15. 前端 js 深浅拷贝
  16. 红警2尤里的复仇中文完整PC版
  17. init函数及其使用(go语言基础语法)
  18. 利用Xshell修改Linux默认SSH端口号等详细配置
  19. 【时空】冰与火之歌一文弄懂时间复杂度与空间复杂度
  20. UGUI_事件执行类ExecuteEvents

热门文章

  1. javascript刷新当前页面
  2. vue findIndex()方法
  3. Elasticsearch使用正则表达式匹配中文字符串结果为空集 es正则表达式查不到结果
  4. Navicat连接服务器数据库(超详细)
  5. 计算机windows7更新失败,Win7自动更新失败开不了机怎么办?
  6. 航天宏图高级副总裁王涛:元宇宙发展关键是“融合”与“超越”
  7. 身份证,联系电话,邮箱,网址,邮编,传真号码,MSN,国籍和身份证,QQ和电话校验
  8. 用*号代替电话号码,
  9. 通证经济大局观(十五):稀缺性与权衡取舍
  10. mysql 设置root密码