专栏名称: Linux就该这么学
专注于Linux运维技术培训,让您学习的每节课都有所收获,订阅本号后可每天获得最新Linux运维行业资讯、最实用的Linux免费教程以及独家Linux考证资料,三十多万技术小伙伴的选择,Linux就该这么学!
今天看啥  ›  专栏  ›  Linux就该这么学

新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!

Linux就该这么学  · 公众号  · linux  · 2025-01-25 08:02
    

文章预览

来源:juejin.cn/post/7114669787870920734 foreach 循环? HashMap 遍历集合并对集合元素进行 remove、put、add 1、现象 2、细究底层原理 前段时间,同事在代码中 KW 扫描的时候出现这样一条: 上面出现这样的原因是在使用 foreach 对 HashMap 进行遍历时,同时进行 put 赋值操作会有问题,异常 ConcurrentModificationException。 于是帮同简单的看了一下,印象中集合类在进行遍历时同时进行删除或者添加操作时需要谨慎,一般使用迭代器进行操作。 于是告诉同事,应该使用迭代器 Iterator 来对集合元素进行操作。同事问我为什么?这一下子把我问蒙了?对啊,只是记得这样用不可以,但是好像自己从来没有细究过为什么? 于是今天决定把这个 HashMap 遍历操作好好地研究一番,防止采坑! foreach 循环? Java foreach 语法是在 JDK 1.5 时加入的新特性,主要是当作 for 语法的一个增强 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览