我有一个包含
的新列表102
103
105
108
包含
的现有列表102
104
105
108
109
想要列出新列表中的所有项目,并从旧列表中删除新列表中不存在的项目。
基本上我需要一个包含
的列表1102
103
105
108
我需要从现有内容中删除的另一个列表包含:
104
109
答案 0 :(得分:1)
这可以在列表副本上使用标准List.removeAll()
方法完成。
List<Integer> newList = Arrays.asList(102, 103, 105, 108);
List<Integer> oldList = Arrays.asList(102, 104, 105, 108, 109);
List<Integer> deleted = new ArrayList<>(oldList);
deleted.removeAll(newList);
System.out.println(deleted);
输出
[104, 109]
答案 1 :(得分:1)
我希望这会奏效,
List<Integer> newList = Arrays.asList(102,103,105,108);
List<Integer> exstList = Arrays.asList(102,104,105,108,109);
List<Integer> deleList = new LinkedList<Integer>();
for(int a : exstList){
if(!newList.contains(a)){
deleList.add(a);
}
}
System.out.println(newList); //as it is new list.
System.out.println(deleList);// diff list