2 baidu 19694879 baidu_19694879 于 2016.03.23 13:51 提问

android异常 ConcurrentModificationException();

在对map集合遍历key,并且判断key值是否存在,然后添加对应的value时,put了两次key之后,到第三次再判断时候抛出异常 throw new ConcurrentModificationException();,,

这是主要代码

private Map> modleLists() {
List lists = new ArrayList();
Map> maps = null;
for (int i = 0; i < carInfoLists.size(); i++) {
if (maps == null) {
maps = new HashMap>();
lists.add((carInfoLists.get(i)));
maps.put(carInfoLists.get(i).getModleName(), lists);
} else {
for (String key : maps.keySet()) {
if (key.contains(carInfoLists.get(i).getModleName())) {
CarModle carModle = carInfoLists.get(i);
maps.get(key).add(carModle);
break;
} else {
lists.clear();
lists.add(carInfoLists.get(i));
maps.put(carInfoLists.get(i).getModleName(), lists);
}
}

        }
    }

3个回答

baidu_19694879
baidu_19694879   2016.04.19 17:11
已采纳

谢谢各位,自己已解决,,,,,,,

bdmh
bdmh   Ds   Rxr 2016.03.23 14:10

在迭代maps时,不要对maps再进行操作

baidu_19694879
baidu_19694879 请问应该怎么解决呢
2 年多之前 回复
sl_18500
sl_18500   2016.03.23 14:55

迭代到最后,需要removeall

baidu_19694879
baidu_19694879 我要进行的不是remove操作,而是遍历key,如果key存在,怎他的value增加,否则就添加一组新的键值对
2 年多之前 回复
lxk_1993
lxk_1993   Rxr 2016.03.23 18:31
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android并发修改异常:java.util.ConcurrentModificationException
Android并发修改异常:java.util.ConcurrentModificationException 异常原因……分析解决……个人理解……部分异常代码示例……
ConcurrentModificationException异常出现原因以及解决方法
今天在开发过程中遇到一个异常叫ConcurrentModificationException,这个异常用我的白话翻译是叫同时修改异常。 这个异常是怎么出现的呢,先看看已下的代码: @Override public void onGetModel(List modelList) { if (modelList != null) { this.i
ConcurrentModificationException异常(hashset处理出错)
java.util.ConcurrentModificationException异常 1、 今天在写一个带缓存功能的访问代理程序时出现了java.util.ConcurrentModificationException异常,因为该异常是非捕获型异常而且很少见,所以费了些时间才找到问题所在,原来在通过Iterator进行遍历的时候,如果直接对HashMap进行操作后,再继续用之前的Iterat
使用set时发生Java ConcurrentModificationException异常原因和解决方法
欢迎使用Markdown编辑器写博客import java.util.Set; import java.util.TreeSet;public class Practice { static final String RIGHT = "R"; static final String DOWN = "D"; private static String generateString(
关于java集合的遍历以及ConcurrentModificationException(并发操作异常)
遍历集合的常用方法以及并发操作异常
androidfinish Activity时报ConcurrentModificationException异常并闪退
在项目中用工具类AppManager进行对activity的管理和应用的退出。finishActivity()方法代码: /** * 结束指定类名的Activity */ public void finishActivity(Class<?> cls) { for (Activity activity : activityStack) {
ArrayList的遍历以及ConcurrentModificationException异常
ArrayList的继承了它父类AbstractList中的属性modCountprotected transient int modCount = 0;在ArrayList中有个Itr内部类(部分代码)private class Itr implements Iterator&amp;lt;E&amp;gt; { int expectedModCount = modCount; public boo...
LinkedList 跑出的ConcurrentModificationException异常
LinkedList后台抛出了ConcurrentModificationException异常
一个ConcurrentModificationException异常引发的故事
一、问题背景 最近在分析一个客户的实际问题中,从日志中看到了一个类似如下的异常(图A),实际异常栈信息量较多,由于涉及到产品代码,所以不便在此贴出,图A是异常栈的最底层抛异常的原因;程序并没有对最上层那行业务代码做try{}catch(),而该功能是会与第三方系统交互的,在最开始设计该功能时是分两大块处理的,每块都有一个大的事务管理;因此该异常直接跑飞没能反写第一个事务已提交的数据,导致
ConcurrentModificationException并发修改异常
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.ArrayList; import jav