我需要过滤一个ArrayList并移除找到的元素。作为一个相对新手的Java程序员,我想知道最有效的方法是什么(因为它要在移动设备上运行)。目前我是这样做的:
// We display only top-level dealers (parentId=-10)
ArrayList<DealerProductCount> subDealers = new ArrayList<DealerProductCount>();
for (DealerProductCount dealer : wsResponse.Dealers) {
if (dealer.ParentId != -10) subDealers.add(dealer);
}
wsResponse.Dealers.removeAll(subDealers);
能否在不使用临时对象的情况下完成?也许可以通过直接操作(删除)正在迭代的列表元素来实现吗?