根据key删除Map集合中的key-value映射
一:在遍历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映射相关推荐
- 【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )
文章目录 一.根据 Key 获取 map 集合中对应的值 1.通过 map.Key 方式获取 map 集合中的值 Value 2.通过 map.'Key' 方式获取 map 集合中的值 Value 3 ...
- java map移除key为空_Java实现过滤掉map集合中key或value为空的值示例
本文实例讲述了Java实现过滤掉map集合中key或value为空的值.分享给大家供大家参考,具体如下: import java.util.Collection; import java.util.H ...
- Java过滤掉map集合中key或value为空的值
import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...
- Java将map置空_Java实现过滤掉map集合中key或value为空的值示例
Java实现过滤掉map集合中key或value为空的值示例 发布时间:2020-09-16 23:26:14 来源:脚本之家 阅读:147 作者:May的博客 本文实例讲述了Java实现过滤掉map ...
- java map key是否存在_java中如何判断map集合中是否存在key
有两种方法可以判断map集合中是否存在某个key. 方法1:直接使用java api提供的containsKey(): 方法2:循环遍历,逐个比较. java相关视频推荐:java视频 具体实现代码如 ...
- java map key是否存在_java如何判断map集合中是否存在key?
java如何判断map集合中是否存在key?,方法,遍历,不存在,键值,是一个 java如何判断map集合中是否存在key? 易采站长站,站长之家为您整理了java如何判断map集合中是否存在key? ...
- Map集合中的方法(添加、删除、判断、获取)
/* Map集合:该集合存储键(K)值(V)对,一对一往里存,而且要保证键的唯一性. 1.添加 put(K key,V value) putAll(Map<? extends K,? exten ...
- map集合的遍历Key
map集合的遍历Key package cn.it.Map; import java.util.HashMap; import java.util.Iterator; import java.util ...
- 批量删除Redis数据库中的Key
批量删除Key Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 redis-cli keys & ...
最新文章
- 轻量级Web渗透测试工具jSQL
- PHP远程下载图片损坏问题
- bogofilter notes
- ThreadLocal管理Connection
- 安装qtceator后无法启动help插件 Qt编译错误:cannot find -lGL 解决办法
- 并发编程--用SingleFlight合并重复请求
- ThinkPad S2 安装deepin系统,安装rtl8821ce无线网卡驱动,适合deepin/ubuntu
- 企业微信端开启debug模式
- 计算机EXE文件改参数,笔记本专用xp系统修改注册表参数导致exe格式文件无法打开怎么办...
- 云原生落地实践的25个步骤
- 内网渗透测试:内网横向移动基础总结
- 【Unity3D基础2-11】Unity3D网格和材质
- Python直角坐标系画图
- 开源Star10K+数据库工具Beekeeper上手体验,免费够酷值得拥有
- PPPcloud云主机免费送!
- You-Get, Annie 视频下载器 一键安装脚本
- std::addressof的实现理解
- fastreport连接mysql
- 蓝桥杯倒计时 | 倒计时19天
- C++题目及答案(15)——质检员问题升级
热门文章
- Python 技术篇-python生成html源码功能实现演示,html代码自动生成技巧,列表生成式的灵活应用
- 微信小程序设置云函数使用的环境
- esp8266烧写机智云固件方法
- java中insert函数
- nRF52 SAADC 直接操作寄存器
- Java复习(四)类的重用
- SpringMVC访问静态资源的三种方式
- (转) Java线程同步阻塞, sleep(), suspend(), resume(), yield(), wait(), notify()
- 嵌套SQL语句訪问DB2中SQLCA的调用技巧
- redis 数据操作命令汇总(string hash list set zset)