我有两个自定义Arraylist
:
List<Item> before = new ArrayList<Item>();
List<ItemEx> after = new ArrayList<ItemEx>();
before.add(new Item(1L,"test1"));
before.add(new Item(2L,"test2"));
before.add(new Item(3L,"test3"));
after.add(new ItemEx(1L,"test4"));
after.add(new ItemEx(2L,"test5"));
after.add(new ItemEx(4L,"test6"));
after.add(new ItemEx(5L,"test7"));
我想将元素存储在List<ItemEx> after
中,而元素应该在删除公共元素{3L, 4L, 5L}
之后。
答案 0 :(得分:1)
试试这个:
HashSet hs = new HashSet();
hs.addAll(before);
hs.addAll(after);
after.clear();
after.addAll(hs);
现在,在列表中你得到了欲望值。
答案 1 :(得分:1)
FYI
List<Item>
&amp; List<ItemEx>
应相同类型。
<强>逻辑强>
List<String> before = new ArrayList<String>();
List<String> after = new ArrayList<String>();
List<String> list_checking = new ArrayList<String>(before);
list_checking.addAll(after);
List<String> list_common = new ArrayList<String>(before);
list_common.retainAll(after);
list_checking.removeAll(list_common);
答案 2 :(得分:0)
简单。如果您希望将来使用,请将现有的副本复制到临时变量中。
ArrayList temporiginalArrList = OriginalArrayList; //这里&#39; T&#39;可以是想要保存的特定对象
OriginalArrayList.removeAll(secondArrayList);