资讯专栏INFORMATION COLUMN

Arrays.asList()返回的是一固定长度的List,不支持add() remove() cl

2json / 1728人阅读

摘要:今天又跳一坑返回的是一个固定长度的,不支持等操作注意上面那个是的内部类,同样了但没有实现那些方法,所以就蛋疼了

今天又跳一坑, sample code:

List list = Arrays.asList(1, 2, 3);
list.clear(); // throws java.lang.UnsupportedOperationException

Arrays.asList()返回的是一个固定长度的List,不支持add() remove() clear()等操作

/**
 * Returns a fixed-size list backed by the specified array.  (Changes to
 * the returned list "write through" to the array.)  This method acts
 * as bridge between array-based and collection-based APIs, in
 * combination with {@link Collection#toArray}.  The returned list is
 * serializable and implements {@link RandomAccess}.
 *
 * 

This method also provides a convenient way to create a fixed-size * list initialized to contain several elements: *

 *     List stooges = Arrays.asList("Larry", "Moe", "Curly");
 * 
* * @param a the array by which the list will be backed * @return a list view of the specified array */ @SafeVarargs public static List asList(T... a) { return new ArrayList<>(a); }

注意上面那个ArrayList是Arrays的内部类,同样extends了AbstractList但没有实现add()那些方法,所以就蛋疼了

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64192.html

相关文章

  • Java 集合 List

    摘要:集合代表一个元素有序可重复的集合,集合中每个元素都有其对应的顺序索引。集合默认按元素的添加顺序设置元素的索引。 List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List集合可以通过索引来访问指定位置的集合元素。List集合默认按元素的添加顺序设置元素的索引。 Java8改进的List接口和ListIterator接口 普通方法 List是有序集合,因此L...

    AlphaWatch 评论0 收藏0
  • 《Java编程思想》笔记11.持有对象

    摘要:迭代器通常被成为轻量级对象创建它的代价很小。与迭代器可以用于数组和所有对象,之所以能够工作,是因为继承了接口。 点击进入我的博客 我觉得本章名字改成容器似乎更好理解,持有对象让人感到一头雾水我们需要在任意时刻和任意位置创建任意数量的对象,所以依靠创建命名的引用来持有对象已经满足不了需求。Java可以用数组和其他容器类来(List、Set、Queue、Map)来解决这个问题,不同的容器...

    newtrek 评论0 收藏0
  • JAVA学习之路 (十)集合

    摘要:集合中的集合是一种工具类,就像是容器,存储任意数量的具有共同属性的对象集合的作用在类的内部,对数据进行组织简单而快速的搜索大量数目的条目有的集合接口,提供了一系列排列有序的元素,并且可以在序列中进行快速的插入和删除有些集合接口,提供了映射关 集合 java中的集合: 是一种工具类,就像是容器,存储任意数量的具有共同属性的对象 集合的作用 1. 在类的内部,对数据进行组织 2. 简单而快...

    sutaking 评论0 收藏0
  • java集合-List

    摘要:会死循环,因为栈内不会弹出所以判断会一直执行。集合用于模拟队列这种数据结构,队列通常是指先进先出的容器。集合不仅提供了的功能,还提供了双端队列,栈的功能。如果有多个线程需要访问集合中的元素,需要考虑使用将几个包装成线程安全集合。 List判断两个对象相等只通过equals方法比较返回true即可。 public class A { @Override public ...

    MasonEast 评论0 收藏0
  • Java Arrays.asList()与Arrays.sort()分析

    摘要:与分析声明文章均为本人技术笔记,转载请注明出处示例源码将数组或者指定个数的对象转换为是的内部类实例,与不是一回事,长度固定,只能遍历访问,不能使用修改集合相关的方法,比如方法会抛出异常适配器模式修改数组内容后,内容也会随之改变,体现适配器模 Java Arrays.asList()与Arrays.sort()分析 声明 文章均为本人技术笔记,转载请注明出处https://segment...

    pkhope 评论0 收藏0

发表评论

0条评论

2json

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<