hashmap-android异常 ConcurrentModificationException()

问题描述

android异常 ConcurrentModificationException()

要进行的操作是,遍历map.判断key值是否存在。如果存在,,则this key对应的valuez增加一个list,否则的话,就重新再添加一组键值对,

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 {
Iterator>> it = maps.entrySet().iterator();
while (it.hasNext()) {
Entry> next = it.next();
String key = next.getKey();
if (carInfoLists.get(i).getModleName().equals(key)) {
CarModle carModle = carInfoLists.get(i);
maps.get(key).add(carModle);
} else {
lists.clear();
lists.add(carInfoLists.get(i));
maps.put(carInfoLists.get(i).getModleName(), lists);
}

            }

解决方案

谢谢给位,自己已解决

解决方案二:

 在遍历maps的时候,又操作maps.put了
lists.clear();
lists.add(carInfoLists.get(i));
maps.put(carInfoLists.get(i).getModleName(), lists);//在遍历内部在put是有问题的。

解决方案三:

遍历的时候不能动态加入的,,

解决方案四:

 for (int i = 0; i < carInfoLists.size(); i++) {
    if (maps == null) {
                maps = new HashMap>();
        }
        if(maps.get(carInfoLists.get(i).getModleName())==null){
           maps.put(carInfoLists.get(i).getModleName(), new ArrayList());
        }
        List lists = (ArrayList)maps.get(carInfoLists.get(i).getModleName());
        lists.add(carInfoLists.get(i));
}

解决方案五:

http://blog.sina.com.cn/s/blog_465bcfba01000ds7.html

时间: 2024-12-03 16:52:10

hashmap-android异常 ConcurrentModificationException()的相关文章

Android异常:The specified child already has a parent.

[Android异常]The specified child already has a parent. You must call removeView() on the child's parent first. 错误信息: Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent

异常信息-Android 异常捕获处理

问题描述 Android 异常捕获处理 android 应用程序,只有稍有一点错误就会自行关闭.我怎么样捕获异常信息并且给用户一个提示 解决方案 参考:http://blog.csdn.net/litton_van/article/details/7084655 解决方案二: 用try-catch,如果出现异常用Toast显示给用户就可以了: 但是这个不保证你的程序有问题还继续执行: 如果回答对您有帮助,请采纳 解决方案三: try catch,然后Toast,或者Dialog. 解决方案四:

Android异常 java.lang.IllegalStateException解决方法_Android

Android异常详情介绍 这种异常我遇到以下两种情况: 1. java.lang.IllegalStateException: No wrapped connection. 2.java.lang.IllegalStateException: Adapter is detached. 原因: 1.单线程一次执行一个请求可以正常执行,如果使用多线程,同时执行多个请求时就会出现连接超时. 2.HttpConnection没有连接池的概念,多少次请求就会建立多少个IO,在访问量巨大的情况下服务器的I

Android异常 java.lang.IllegalStateException解决方法

Android异常详情介绍 这种异常我遇到以下两种情况: 1. java.lang.IllegalStateException: No wrapped connection. 2.java.lang.IllegalStateException: Adapter is detached. 原因: 1.单线程一次执行一个请求可以正常执行,如果使用多线程,同时执行多个请求时就会出现连接超时. 2.HttpConnection没有连接池的概念,多少次请求就会建立多少个IO,在访问量巨大的情况下服务器的I

android 异常:ScrollView can host only one direct child

android 采用ScrollView布局时出现异常:ScrollView can host only one direct child. 主要是ScrollView内部只能有一个子元素,即不能并列两个子元素,所以需要把所有的子元素放到一个LinearLayout内部或RelativeLayout等其他布局方式.

android 异常-三星手机TimePiker中的nullpointexception

问题描述 三星手机TimePiker中的nullpointexception 异常出现于页面跳转时.A页跳B页,A页中有TimePiker 解决方案 三星手机

Android 异常收集哦

adb install 时出现几个异常打出来记录一下 Failure [INSTALL_FAILED_DEXOPT] Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 这样的问题主要是签名冲突造成的,比如你使用了ADB的debug权限签名,但后来使用标准sign签名后再安装同一个文件会出现这样的错误提示,解决的方法除了只有先老老实实从手机上卸载原有版本再进行安装,而adb install -r参数也无法解决这个问题. Failure [INSTALL_

详解Android中处理崩溃异常_Android

大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开发者分析和调试程序. 我们先建立一个crash项目,项目结构如图: 在MainActivity.ja

Android实现异常记录并重启程序

异常捕获主要是在全局的Application中来处理的,Android提供了一个CrashHandler用来进行错误处理. intent添加 "Intent.FLAG_ACTIVITY_NEW_TASK" 标记的原因是--Content的startActivity方法,需要开启一个新的task.如果使用 Activity的startActivity方法,不会有任何限制,因为Activity继承自Context,重载了startActivity方法.所以如果是context启动Activ