比对两个集合的差异,并返回差异数据(集合)-可以是对象与基本类型
程序员文章站
2022-04-15 13:37:49
...
用map性能高些
private <T> List<T> getNewList(List<T> allList, List<T> existList) {
Map<T, Integer> map = new HashMap<>(16);
for (int i = 0; i < allList.size(); i++) {
map.put(allList.get(i), i);
}
for (int i = 0; i < existList.size(); i++) {
Integer pos = map.get(existList.get(i));
if (pos == null) {
continue;
}
allList.set(pos, null);
}
for (int i = allList.size() - 1; i >= 0; i--) {
if (allList.get(i) == null) {
allList.remove(i);
}
}
return allList;
}
上一篇: php addcslashes函数怎么用
下一篇: 两个错误的解决方案