假设有集合A和集合B,集合A表示最新的配置,集合B表示原有的旧配置
public static <T> Map<String, List<T>> mergeCollection(List<T> resList,List<T> targetList){
Map<String, List<T>> resultMap = Maps.newHashMap();
List<T> preAddList = Collections.emptyList();
List<T> preDelList = Collections.emptyList();
if(CollUtil.isEmpty(resList)){
preDelList.addAll(targetList);
}
if(CollUtil.isEmpty(targetList)){
preAddList.addAll(targetList);
}
if(CollUtil.isNotEmpty(resList) && CollUtil.isNotEmpty(targetList)){
//获取交集
Collection<T> interactList = CollUtil.intersection(resList,targetList);
Collection<T> preAddData = CollUtil.disjunction(resList, interactList);
Collection<T> preDelData = CollUtil.disjunction(targetList, interactList);
preAddList.addAll(preAddData);
preDelList.addAll(preDelData);
}
resultMap.put(PRE_ADD_DATA,preAddList);
resultMap.put(PRE_DEL_DATA,preDelList);
return resultMap;
}
最后
以上就是神勇微笑最近收集整理的关于List工具类实现增删改查的全部内容,更多相关List工具类实现增删改查内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复