1

运行以下代码时,在方法UnsupportedOperationException中抛出。.remove()

通过此代码:

List list = Array.asList(array) ;
list.remove(0);
4

2 回答 2

10

数组#asList

返回由指定数组支持的固定大小的列表

因此,您不能向其中添加/删除元素。

为了克服这个问题,你可以这样做:

List modifiableList = new ArrayList(Arrays.asList(array));
于 2013-06-19T07:02:50.373 回答
2

如果您想从对象列表中删除某些对象,那么直接执行此操作的方式非常类似。您需要使用Iterator

List<Integer> l = new ArrayLIst<>(); // or List<Integer> l = new ArrayLIst<Integer>();
Iterator<Integer> iter = l.iterator();
while (iter.hasNext()) {
    if (iter.next().intValue() == 5) {
        iter.remove();
    }
}
于 2013-06-19T08:07:37.233 回答