/**
* 找不同
* @since 由于数据量过大需要做局部更新,判断差异,由此而生。
* @time 2020年12月5日 19:52:53
* @param origin 源数据
* @param target 目标数据
* @return List.get(0)=相同数据;List.get(1)=源数据的差异数据;List.get(2)=目标数据的差异数据;
*/
private List<List<String>> different(String origin, String target){
if(StringUtils.isEmpty(origin) || StringUtils.isEmpty(target)){
return null;
}
List<List<String>> result = new ArrayList<>();
if (origin.equals(target)){
return null;
} else {
List<String> originList = Arrays.asList(origin.split(",\\s+"));
List<String> targetList = Arrays.asList(target.split(",\\s+"));
List<String> publicList = new ArrayList<>();
for(String objectOld: originList){
for(String objectNew: targetList){
if(objectOld.equals(objectNew)){
publicList.add(objectNew);
}
}
}
result.add(publicList);
result.add(compare(originList, publicList));
result.add(compare(targetList, publicList));
}
return result;
}
/**
* 查找以list1为目标的不同之处
* @param list1 List
* @param list2 List
* @return List
*/
private List<String> compare(List<String> list1, List<String> list2) {
List<String> diff = new ArrayList<>();
for(String str:list1){
if(!list2.contains(str)){
diff.add(str);
}
}
return diff;
}
List
最新推荐文章于 2023-04-06 13:35:09 发布