想了解更多数据结构以及算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。也可以扫描下面的二维码关注
先来看一段代码
public static void main(String[] args) {
List<String> mList = Arrays.asList("1", "2", "3");
mList.remove("1");
}
再来看一下运行结果
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
at java.util.AbstractList$Itr.remove(AbstractList.java:374)
at java.util.AbstractCollection.remove(AbstractCollection.java:293)
这是因为Arrays创建的list不能执行删除和添加操作,我们看下源码就知道了,Arrays创建的list的remove方法是在AbstractList这个类中的,他的代码如下。所以Arrays创建的集合list是不支持添加和删除的
public E remove(int var1) {
throw new UnsupportedOperationException();
}