从ArrayList中删除多个元素

我有一堆索引,我想从中删除这些索引中的元素ArrayList。我无法做一个简单的remove()s 序列,因为每次移除后元素都会移动。我该如何解决?

回答:

按降序对索引进行排序,然后将其一一删除。如果这样做,删除将不会影响以后要删除的任何索引。

如何对它们进行排序将取决于您用来存储索引的集合。如果是列表,则可以执行以下操作:

List<Integer> indices;

Collections.sort(indices, new Comparator<Integer>() {

public int compare(Integer a, Integer b) {

//todo: handle null

return b.compareTo(a);

}

}

回答:

@aioobe找到了我找不到的助手。除了上述内容,您还可以使用

Collections.sort(indices, Collections.reverseOrder());

以上是 从ArrayList中删除多个元素 的全部内容, 来源链接: utcz.com/qa/419958.html

回到顶部