Collections.singletonList和Arrays.asList有什么不同呢?

欣喜 Java经验 发布时间:2024-01-22 16:26:47 阅读数:4343 1
下文笔者讲述Collections.singletonlist和Arrays.asList的区别,如下所示

Collections.singletonList简介

Collections.singletonList:长度为1

1. 调用Collections.singletonList(T o)方法
      将创建一个SingletonList对象
      SingletonList继承了抽象类AbstractList

2. SingletonList最大的特点
      整个集合中只能有一个元素
      不能调用add方法

3. SingletonList中
     唯一的一个元素可以设置为null

4. SingletonList中唯一的一个元素是final类型
      所以一旦被初始化完成后就不可以进行修改
      只能通过各种不同的方式来进行读取这个唯一的元素

Arrays.asList:长度不可变

1. 调用 Arrays.asList(T… a)方法
     创建一个ArrayList对象
     ArrayList继承抽象类 AbstractList

2. ArrayList 最大的特点
     整个集合允许有多个元素存入数组中
      但是一旦初始化后
      数组的长度就不可以再进行任何的更改
     但是数组中的元素可以修改

3. ArrayList 中的传入的数组参数中允许存在null
     但是不允许只有一个null

4. 由于 ArrayList 中存储数组是final类型的
     所以一旦被初始化完成后长度就不可以进行修改
     所以我们可以去遍历、修改 ArrayList中的元素
      但不能去增加、删除

Collections.singletonList和Arrays.asList的区别

1. Collections.singletonList 和 Arrays.asList
     都是长度不可变的集合
    Collections.singletonList 长度为1,元素初始化完成就不可修改
    Arrays.asList 长度不可变,元素初始化完成还可以进行修改

2. Collections.singletonList 中的唯一一个元素可以是null
    如果 Arrays.asList 只存入一个元素的话,那就一定不允许为null
    否则的话会抛出 NullPointerException 异常

3. Arrays.asList 中创建的 ArrayList 和我们常用的java.util.ArrayList并不是同一个 

4. Collections.singletonList 中保存元素的是一个对象
    Arrays.asList 中保存元素的是一个数组 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202401/17059120357735.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者