我有两个 ArrayList<Integer>
,内容如下:
原始列表: 12, 16, 17, 19, 101
选中列表: 16, 19, 107, 108, 109
我想对这两个列表进行差异处理,最终得到两个列表:
添加: 108, 109, 107
删除: 12, 17, 101
原始列表和选中列表的长度可能不同,其中一个可能比另一个长或短。
我有两个 ArrayList<Integer>
,内容如下:
原始列表: 12, 16, 17, 19, 101
选中列表: 16, 19, 107, 108, 109
我想对这两个列表进行差异处理,最终得到两个列表:
添加: 108, 109, 107
删除: 12, 17, 101
原始列表和选中列表的长度可能不同,其中一个可能比另一个长或短。
使用Java 8+流:
List<Integer> result = original.stream()
.distinct()
.filter(selected::contains)
.collect(Collectors.toList());
108,109
” 应该翻译为 “添加:108,109
”,而问题的意思是是否应该将其改为“添加:107,108,109
”? - Asaph16,19
。 - Mark Peters