Java 方法中参数类型后写了三个点?什么意思?

1、...代表什么意思?

2、如何使用

3、注意事项

4、两个list,一个新的,一个旧的,旧列表中可能有新列表中存在的数据,也可能存在新列表中不存在的数据(注:新旧列表中都不存在重复元素)

需要将新旧列表中数据区分成三部分:1、只存在旧列表中的2、只存在新列表中的3、新旧列表中都存在的

可以将旧列表中的元素,以元素为键,以1为值存在map中,

然后循环新列表,将新列表中元素为键,存入map,如果map中存在,value就是1,不存在默认是0,然后再减一

最后,map中存在value的元素,value=0,新老列表都存在的

value=1 只在旧列表存在的,

value=-1 只在新列表存在的

java 复制代码
 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());
        }

    }
相关推荐
一颗花生米。18 分钟前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼18 分钟前
Java基础-单例模式的实现
java·开发语言·单例模式
ok!ko4 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2402_857589364 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰5 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
哎呦没6 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
编程、小哥哥6 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
IT学长编程7 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
莹雨潇潇7 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
杨哥带你写代码7 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端