假设我有一个名为ArrayList
of Child
对象的children
。
ArrayList<Child> children = new ArrayList<>(data);
现在,我有了一个整数列表,它是children
中用于子级的一些索引。
List<Integer> items = new ArrayList<>(data2);
删除children
中具有与items
中整数匹配的索引的所有子级的最有效方法是什么?
发布于 2014-12-09 09:44:13
如果没有对项进行排序(首先是更大的值):Collections.sort(items, Collections.reverseOrder());
然后:
for (Integer i : items) {
children.remove(i);
}
发布于 2014-12-09 09:36:40
最好的方法是创建一个包含传递条件的元素的新列表。
发布于 2014-12-09 09:51:36
作为aurelianus上面的回答的另一种选择,考虑一下您的用例:
对项数组进行排序,然后按索引的降序从子数组中删除子对象。
费用考虑:
https://stackoverflow.com/questions/27385165
复制