需要在指定的多个索引中从列表中删除,没有新的问题

时间:2016-01-05 23:09:19

标签: java for-loop

我有一个索引数组,必须从List中删除元素,例如:(4),(7),(8)。

问题是:

1)不能使用For循环,每次删除后大小都会改变(ArrayList.remove(i)

2)无法使用具有更新计数器的迭代器,计数器也将不再起作用(Iterator.remove())。

1 个答案:

答案 0 :(得分:0)

在这里找到了一个不错的解决方案:Remove multiple elements from ArrayList

Collections.sort(indices, Collections.reverseOrder());
for (int i : indices)
    strs.remove(i);

这似乎是唯一快速而简单的解决方案。首先进行反向排序,然后浏览索引并删除。