从嵌套的ArrayList中删除元素的最有效和最快捷的方法是什么?

时间:2013-10-03 20:23:41

标签: java arraylist

我有一个ArrayList的ArrayList实现为:

ArrayList<ArrayList<Integer>> sampleList = new ArrayList<ArrayList<Integer>>();

假设我的列表在一些操作之后包含以下元素:

[[1,2,3],[2,1,3,4],[3,1,2],[4,2]]

我想从这个集合中删除所有出现的特定元素,比如说4,即我想在删除4之后获得以下输出:

[[1,2,3],[2,1,3],[3,1,2]]

我知道我可以使用 for 循环,但是如果设置非常大,那将会非常繁琐且效率低下。 那么有更好的方法吗? (我是编程新手)

1 个答案:

答案 0 :(得分:4)

根据您的要求,不会有更好的解决方案。您需要小心避免删除值4而不是位置4处的元素:

Set<String> toRemove = Collections.singleton(4);
for (List<Integer> list : sampleList) {
  list.removeAll(toRemove);
}