uie糖心甜酒 2020-05-29 09:58 采纳率: 50%
浏览 743
已采纳

Android中hashmap遍历删除已用iterator.remove()依旧报错

球球好心人康康,实在是没辙了,本人小菜鸟,公司就我一个安卓开发,也没人可问。

HashMap遍历删除写在方法内的一个线程里:

new Thread(new Runnable() {
    @Override
    public void run() {
        Iterator iterator = three.keySet().iterator();
        while (iterator.hasNext()) {
            …
            iterator.remove();        
            three.remove(key);  //这行代码
                }
        }
    }
}).start();

报错信息:

E/AndroidRuntime: FATAL EXCEPTION: Thread-1317
    Process: com.example.administrator.i, PID: 4777
    java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.remove(HashMap.java:869)
        at com.example.administrator.i.MainActivity$12.run(MainActivity.java:911)
        at java.lang.Thread.run(Thread.java:760)

太难了,网上找的都是报的nextEntry()方法错误。而且我已经用了iterator,为什么还是删除出问题呢??

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已采纳回答 9月3日

      悬赏问题

      • ¥30 VB6.0操作 webview2内核的浏览器如何精确实现网页弹窗处置
      • ¥15 pr导出的视频打不开,提示“缺少编解码器”怎么解决
      • ¥15 html里js获取php参数值不成功,帮改代码
      • ¥20 如何控制ant design的InputNumber组件 最多输入5位小数
      • ¥15 c语言学生基本信息管理系统
      • ¥100 火车头采集器采集求解
      • ¥88 关于#运行时间 时间重叠 和非重叠#的问题,如何解决?
      • ¥15 C语言,密切接触者追踪
      • ¥20 关于计算机网络问题,请附带讲解
      • ¥30 自动识别图像目标并判断