我有一个索引数组,必须从List中删除元素,例如:(4),(7),(8)。
问题是:
1)不能使用For循环,每次删除后大小都会改变(ArrayList.remove(i)
)
2)无法使用具有更新计数器的迭代器,计数器也将不再起作用(Iterator.remove()
)。
答案 0 :(得分:0)
在这里找到了一个不错的解决方案:Remove multiple elements from ArrayList
Collections.sort(indices, Collections.reverseOrder());
for (int i : indices)
strs.remove(i);
这似乎是唯一快速而简单的解决方案。首先进行反向排序,然后浏览索引并删除。