下面代码展示了遍历Map时删除元素的正确方式和错误方式。

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class TestMapRemove {

public static void main(String[] args){

new TestMapRemove().removeByIterator();

// new TestMapRemove().removeBymap();

}

public void removeByIterator(){//正确的删除方式

HashMap map = new HashMap();

map.put(1, "one");

map.put(2, "two");

map.put(3, "three");

System.out.println(map);

Iterator> it = map.entrySet().iterator();

while(it.hasNext()){

Map.Entry entry = it.next();

if(entry.getKey() == 2)

it.remove();//使用迭代器的remove()方法删除元素

}

System.out.println(map);

}

public void removeBymap(){//错误的删除方式

HashMap map = new HashMap();

map.put(1, "one");

map.put(2, "two");

map.put(3, "three");

System.out.println(map);

Set> entries = map.entrySet();

for(Map.Entry entry : entries){

if(entry.getKey() == 2){

map.remove(entry.getKey());//ConcurrentModificationException

}

}

System.out.println(map);

}

}

java map循环删除_map循环删除某个元素相关推荐

  1. java map 缓存池_map端合并(分布式缓存)

    [TOC] # 分析 适用于关联表中有小表的情形 可以将小表分发到所有的map节点,这样,map节点就可以在本地对自己所读到的大表数据进行合并并输出最终结果,可以大大提高合并操作的并发速度 **Dis ...

  2. java map 缓存数据_Map方式实现JAVA数据缓存

    首先建一个map,该map用来存放所有的数据 protected static Map map = new HashMap<>(); 加载所有User,将其放入到User中,map的key ...

  3. java map 线程安全_Map线程安全的四种实现方法

    Map 线程安全四种方法: 1.使用 synchronized 关键字,代码如下 synchronized(anObject) { value=map.get(key); } 2.使用 JDK1.5提 ...

  4. java利用循环打印AVA_ava.util.ArrayList在foreach循环遍历时可以删除元素

    ArrayList是java开发时非常常用的类,常碰到需要对ArrayList循环删除元素的情况.这时候大家都不会使用foreach循环的方式来遍历List,因为它会抛java.util.Concur ...

  5. pta 循环单链表的删除(java)

    采用循环单链表做为线性表的存储结构,编写成员方法:删除运算. 删除成功,输出删除后的线性表的所有元素 删除失败,输出"error" 输入样例: 5 2 8 7 4 6 4 输出样例 ...

  6. java lambda map循环停止_Map 使用 Lambda 的 forEach 实现跳出循环操作

    lambda 的 foreach表达式用起来很爽啊,最近开发中用来遍历了一下map,结果就翻车了......大致场景如下: 本来是要在找到包含了"3"的值之后终止循环的,结果bre ...

  7. python for 循环中使用 remove 删除列表中的元素

    python for 循环中使用 remove 删除列表中的元素 错误的代码 # !/usr/bin/python # encoding: utf-8 # -*- coding: utf8 -*- o ...

  8. python在for循环中不能删除正在循环的列表(问题已解决)

    如,本意是删除列表中的33元素,但是由于两个元素位置相近,在找到第一个33的时候,删除后,元素就自动向前补齐,此时i已经后移,所以在使用remove删除相邻元素的时候会:删除一个元素,漏掉一个元素: ...

  9. 列表和字典循环遍历时的删除问题,集合

    1.for 循环的问题 : for 循环后面也有else,也可以使用break和continue(使用方法跟while一样). while    条件:                   for  ...

最新文章

  1. spring mvc基本概念
  2. 2018 OO第一次总结(作业1-3)
  3. jQuery中FormData的使用
  4. 2017-2018-1 20155336 《信息安全系统设计基础》加分作业:实现mypwd
  5. Symfony2 学习笔记之模板使用
  6. django自定义过滤器及模板标签
  7. java.lang.Record:规范草案
  8. 水晶报表-简单数据类型(Crystal 语法)
  9. 预防和检测如日中天?事件响应表示不服
  10. 阿里面试题BIO和NIO数量问题附答案和代码
  11. WebRTC通话原理(六)
  12. gsoap开发webservice
  13. 经典50道SQL练习题
  14. Vue使用Monaco Editor实现diff代码对比功能
  15. 全国计算机四级考哪个好,计算机四级考哪个好?
  16. DoubleClick公司推出移动广告平台
  17. Google, with new Pixel and camera, is serious about devices
  18. demoのpython学习笔记【2】——文件操作、面向对象的函数、HTML基础
  19. 电源完整性之DC-DC
  20. python中查找文件当前位置定位,Python是怎样定位和修改文件读写位置的?

热门文章

  1. Ubuntu启动黑屏解决方案
  2. 解决ubuntu启动黑屏
  3. 微信小程序日历加课表项目
  4. C++模拟疫情在校园的传播
  5. STM32-串口通信(串口的接收和发送)
  6. 月薪过万的那些人,大部分都是做什么工作的?
  7. 按要求编写一个Java应用程序:(1)编写一个矩形类Rect,包含:两个属性...2、定义一个接口Shape,包括计算图形面积(getArea)和周长(getcir)...
  8. python基础补漏-字典和浮点型
  9. python insert()函数解析(最清晰的解释)
  10. boost::thread编程实战(2)——获取线程id并转化为DWORD类型