• map的循环删除操作


    1.错误示例

    Map<String,InterfaceOutParam> outCodes1 = outParamList.stream().collect(Collectors.toMap(InterfaceOutParam::getOutparamCode,a->a));
    Map<String,InterfaceOutParam> outCodes2 = outParamList2.stream().collect(Collectors.toMap(InterfaceOutParam::getOutparamCode,a->a));
            //统计修改的参数
            for (String key : outCodes1.keySet()) {
                if(outCodes2.containsKey(key)){
                    updateOutParamList.add(outCodes1.get(key));
                    outCodes1.remove(key);
                    continue;
                }
            }

    抛出异常:

    2.使用 Iterator 遍历删除

    for (Iterator<Map.Entry<String, InterfaceOutParam>> it = outCodes1.entrySet().iterator(); it.hasNext();){
                Map.Entry<String, InterfaceOutParam> item = it.next();
                if(outCodes2.containsKey(item.getKey())){
                    updateOutParamList.add(outCodes1.get(item.getKey()));
                    it.remove();
                    continue;
                }
            }
  • 相关阅读:
    Java 源码刨析
    qemu-guest-agent详解
    Java 源码刨析
    NTP服务解析
    virsh常见命令笔记
    Ansible之playbook
    ansible模块详解
    HashMap详解
    Mysql-Incorrect string value
    web开发中前后端传值
  • 原文地址:https://www.cnblogs.com/UncleWang001/p/10531466.html
Copyright © 2020-2023  润新知