1、...代表什么意思?
2、如何使用
3、注意事项
4、两个list,一个新的,一个旧的,旧列表中可能有新列表中存在的数据,也可能存在新列表中不存在的数据(注:新旧列表中都不存在重复元素)
需要将新旧列表中数据区分成三部分:1、只存在旧列表中的2、只存在新列表中的3、新旧列表中都存在的
可以将旧列表中的元素,以元素为键,以1为值存在map中,
然后循环新列表,将新列表中元素为键,存入map,如果map中存在,value就是1,不存在默认是0,然后再减一
最后,map中存在value的元素,value=0,新老列表都存在的
value=1 只在旧列表存在的,
value=-1 只在新列表存在的
public static Map<String, Integer> seperateList(List<String> oldList, List<String>... newList){Map<String,Integer> map = new HashMap<>();for (String oldCaseId : oldList) {map.put(oldCaseId, 1);}for (List<String> stringList : newList) {for (String caseId : stringList) {map.put(caseId, map.getOrDefault(caseId, 0) - 1);}}return map;}public static void main(String[] args) {List<String> oldList = new LinkedList<>();oldList.add("张三");oldList.add("李四");oldList.add("王五");oldList.add("赵六");List<String> newList = new LinkedList<>();newList.add("张三");newList.add("孙⑦");newList.add("徐晓");newList.add("马震");Map<String, Integer> stringIntegerMap = seperateList(oldList, newList);for (Map.Entry<String, Integer> entry : stringIntegerMap.entrySet()) {System.out.println(entry.getKey()+":"+entry.getValue());}}