【发布时间】:2014-03-17 03:29:12
【问题描述】:
我正在尝试比较两个 ArrayList,如果它们出现在第二个列表中,则从列表中删除它们。两个列表都包含相同的类:“EditableListItem.
ArrayList<EditableListItem> items = new ArrayList<EditableListItem>();
ArrayList<EditableListItem> addedItems = new ArrayList<EditableListItem>();
我已经编写了这段代码,它可以完成这项工作,但我觉得这不是一个很好的解决方案。
int remove_n = -1;
for(int k=0;k<addedItems.size();k++)
{
for(int i=0;i<items.size();i++)
{
if(items.get(i).getKey().equals(addedItems.get(k).getKey()))
{
remove_n = i;
}
}
if(remove_n > -1)
{
items.remove(remove_n);
remove_n = -1;
}
}
有没有办法用更少的行来做到这一点?或者也许使用 ArrayList 中的一些方法?
谢谢
【问题讨论】:
-
查看
ArrayList的javadoc。