Collections.singletonList和Arrays.asList有什么不同呢?
下文笔者讲述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 中保存元素的是一个数组
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。