首先我们有两个集合A,B,我们以其中一个集合A为基准
想获得B集合中的元素,相对于A集合来说,哪些元素不存在,哪些元素A没有
业务场景:以db1中的数据为准,更新db2中的数据,db1有的,db2没有的进行添加操作,db2有的,db1没有的进行删除操作
那么我们就需要知道,哪些元素是要添加的,哪些是要删除的
传统做法:通过标记实现
private static Map> getContrast(ListnewTypeList, ListoldTypeList){
Mapmap = new HashMap<>();
Map> resultMap = new HashMap<>();
//被删除的集合
ListdeleteList = new ArrayList<>();
//添加的集合
ListaddList = new ArrayList<>();
//遍历标记新的集合元素为1
for (String nItem : newTypeList) {
map.put(nItem,1);
}
//遍历标记相同的集合元素为2
for (String oItem : oldTypeList) {
Integer tag = map.get(oItem);
if (tag != null) {
map.put(oItem,2);
continue;
}