相关疑难解决方法(0)

尝试从List中删除元素时,为什么会出现UnsupportedOperationException?

我有这个代码:

public static String SelectRandomFromTemplate(String template,int count) {
   String[] split = template.split("|");
   List<String> list=Arrays.asList(split);
   Random r = new Random();
   while( list.size() > count ) {
      list.remove(r.nextInt(list.size()));
   }
   return StringUtils.join(list, ", ");
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

06-03 15:05:29.614: ERROR/AndroidRuntime(7737): java.lang.UnsupportedOperationException
06-03 15:05:29.614: ERROR/AndroidRuntime(7737):     at java.util.AbstractList.remove(AbstractList.java:645)
Run Code Online (Sandbox Code Playgroud)

这怎么会是正确的方法?Java.15

java exception list arraylist

444
推荐指数
7
解决办法
37万
查看次数

Arrays.asList(array)和new ArrayList <Integer>(Arrays.asList(array))之间的区别

有什么区别

1.List<Integer> list1 = new ArrayList<Integer>(Arrays.asList(ia));  //copy
2.List<Integer> list2 = Arrays.asList(ia);
Run Code Online (Sandbox Code Playgroud)

哪里ia是整数数组.

我开始知道不允许进行某些操作list2.为什么会这样?它是如何存储在内存中的(引用/复制)?

当我洗牌时,list1不会影响原始数组,但list2确实如此.但仍list2有些令人困惑.

如何ArrayList列出列表与创建新列表不同ArrayList

list1 differs from (1)
ArrayList<Integer> list1 = new ArrayList<Integer>(Arrays.asList(ia));
Run Code Online (Sandbox Code Playgroud)

java collections list

101
推荐指数
4
解决办法
18万
查看次数

标签 统计

java ×2

list ×2

arraylist ×1

collections ×1

exception ×1