一:在遍历Map时是不可以删除key-value映射的,如果根据key删除,如下:

public static void main(String[] args) {Map<String,Object> paramsMap = getMap();deleteKeyError(paramsMap);}private static void deleteKeyError(Map<String,Object> paramsMap){for(Map.Entry<String,Object> entry:paramsMap.entrySet()){String key = entry.getKey();if(ID.equals(key)){paramsMap.remove(key);}}}

则会报错:并发修改异常,意思就是正在对map进行遍历的过程中不能删除map中的key-value

Exception in thread "main" java.util.ConcurrentModificationExceptionat java.util.HashMap$HashIterator.nextNode(Unknown Source)at java.util.HashMap$EntryIterator.next(Unknown Source)at java.util.HashMap$EntryIterator.next(Unknown Source)at com.hlcui.test.TestIterator.deleteKeyError(TestIterator.java:26)at com.hlcui.test.TestIterator.main(TestIterator.java:22)

但是我们可以使用迭代器删除,如下:

  public static void main(String[] args) {Map<String,Object> paramsMap = getMap();deleteKeyOfMap(paramsMap);}private static void deleteKeyOfMap(Map<String,Object> paramsMap){System.out.println("=====删除前=====\n"+paramsMap);Iterator<String> iter = paramsMap.keySet().iterator();while(iter.hasNext()){String key = iter.next();if(ID.equals(key)){iter.remove();}}System.out.println("=====删除后=====\n"+paramsMap);}

则执行正常,可以根据key删除map中key-value映射

所以如果想根据key删除map集合中的key-value映射,可以使用迭代器的方式!

转载于:https://www.cnblogs.com/warrior4236/p/6947492.html

根据key删除Map集合中的key-value映射相关推荐

  1. 【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )

    文章目录 一.根据 Key 获取 map 集合中对应的值 1.通过 map.Key 方式获取 map 集合中的值 Value 2.通过 map.'Key' 方式获取 map 集合中的值 Value 3 ...

  2. java map移除key为空_Java实现过滤掉map集合中key或value为空的值示例

    本文实例讲述了Java实现过滤掉map集合中key或value为空的值.分享给大家供大家参考,具体如下: import java.util.Collection; import java.util.H ...

  3. Java过滤掉map集合中key或value为空的值

    import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...

  4. Java将map置空_Java实现过滤掉map集合中key或value为空的值示例

    Java实现过滤掉map集合中key或value为空的值示例 发布时间:2020-09-16 23:26:14 来源:脚本之家 阅读:147 作者:May的博客 本文实例讲述了Java实现过滤掉map ...

  5. java map key是否存在_java中如何判断map集合中是否存在key

    有两种方法可以判断map集合中是否存在某个key. 方法1:直接使用java api提供的containsKey(): 方法2:循环遍历,逐个比较. java相关视频推荐:java视频 具体实现代码如 ...

  6. java map key是否存在_java如何判断map集合中是否存在key?

    java如何判断map集合中是否存在key?,方法,遍历,不存在,键值,是一个 java如何判断map集合中是否存在key? 易采站长站,站长之家为您整理了java如何判断map集合中是否存在key? ...

  7. Map集合中的方法(添加、删除、判断、获取)

    /* Map集合:该集合存储键(K)值(V)对,一对一往里存,而且要保证键的唯一性. 1.添加 put(K key,V value) putAll(Map<? extends K,? exten ...

  8. map集合的遍历Key

    map集合的遍历Key package cn.it.Map; import java.util.HashMap; import java.util.Iterator; import java.util ...

  9. 批量删除Redis数据库中的Key

    批量删除Key Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 redis-cli keys & ...

最新文章

  1. 轻量级Web渗透测试工具jSQL
  2. PHP远程下载图片损坏问题
  3. bogofilter notes
  4. ThreadLocal管理Connection
  5. 安装qtceator后无法启动help插件 Qt编译错误:cannot find -lGL 解决办法
  6. 并发编程--用SingleFlight合并重复请求
  7. ThinkPad S2 安装deepin系统,安装rtl8821ce无线网卡驱动,适合deepin/ubuntu
  8. 企业微信端开启debug模式
  9. 计算机EXE文件改参数,笔记本专用xp系统修改注册表参数导致exe格式文件无法打开怎么办...
  10. 云原生落地实践的25个步骤
  11. 内网渗透测试:内网横向移动基础总结
  12. 【Unity3D基础2-11】Unity3D网格和材质
  13. Python直角坐标系画图
  14. 开源Star10K+数据库工具Beekeeper上手体验,免费够酷值得拥有
  15. PPPcloud云主机免费送!
  16. You-Get, Annie 视频下载器 一键安装脚本
  17. std::addressof的实现理解
  18. fastreport连接mysql
  19. 蓝桥杯倒计时 | 倒计时19天
  20. C++题目及答案(15)——质检员问题升级

热门文章

  1. Python 技术篇-python生成html源码功能实现演示,html代码自动生成技巧,列表生成式的灵活应用
  2. 微信小程序设置云函数使用的环境
  3. esp8266烧写机智云固件方法
  4. java中insert函数
  5. nRF52 SAADC 直接操作寄存器
  6. Java复习(四)类的重用
  7. SpringMVC访问静态资源的三种方式
  8. (转) Java线程同步阻塞, sleep(), suspend(), resume(), yield(), wait(), notify()
  9. 嵌套SQL语句訪问DB2中SQLCA的调用技巧
  10. redis 数据操作命令汇总(string hash list set zset)