遍历List时删除元素导致List抛出java.util.ConcurrentModificationException异常
1 public static void main(String[] args) {
2 List<String> list = new ArrayList<String>();
3 list.add("1");
4 list.add("2");
5 list.add("3");
6 list.add("4");
7 list.add("5");
8 System.out.println("Original list : " + list);
9 System.out.println();
10
11 for (String temp : list) {
12 System.out.println("Check for " + temp);
13 if ("3".equals(temp)) {
14 list.remove(temp);
15 }
16 }
17
18 System.out.println("Removed list : " + list);
19 }
执行以上代码抛出 java.util.ConcurrentModificationException 异常
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
System.out.println("Original list : " + list);
System.out.println();
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
String temp = iterator.next();
System.out.println("Check for " + temp);
if("3".equals(temp)){
iterator.remove();
}
}
System.out.println("Removed list : " + list);
}
使用迭代器可以正常执行
遍历List时删除元素导致List抛出java.util.ConcurrentModificationException异常的更多相关文章
- 为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作--java.util.ConcurrentModificationException
摘要 foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素. 在阿里巴巴Java开发手册中,有这样一条规定: 但是手册中并没有给出具体 ...
- Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法
当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...
- List 调用 remove 方法时抛出 java.lang.UnsupportedOperationException 异常原因
原因 使用 Arrays.asList(arr) 转换的 List 并不能进行 add 和 remove 操作. Arrays.asList(arr) 返回的类型是 Aarrays$Arr ...
- 遍历list时删除元素的正确做法
我们往往会遇到需要删除list中满足条件的元素.举例: List<string> list_str =new List<string>() { "A",&q ...
- Java 遍历Map时 删除元素
Java代码 package,,,,,,,,,,,==){ System.out.println("delete this: "+key+" = "+key ...
- 关于反序列化时抛出java.io.EOFException异常
https://www.cnblogs.com/ouhaitao/p/7683568.html https://blog.csdn.net/mym43210/article/details/40081 ...
- 遍历List过程中删除操作报java.util.ConcurrentModificationException错误
1:遍历List 同时 remove 元素,出现java.util.ConcurrentModificationException错误 @Test public void test3(){ List& ...
- 集合循环删除问题-报错java.util.ConcurrentModificationException解析
java.util.ConcurrentModificationException 异常问题详解 环境:JDK 1.8.0_111 在Java开发过程中,使用iterator遍历集合的同时对集合进行修 ...
- list删除操作 java.util.ConcurrentModificationException
首先大家先看一段代码: public static void main(String[] args) { List<String> listStr = new ArrayList<S ...
- Hashtable 删除元素, 抛出异常 java.util.ConcurrentModificationException
今天在对一个Hashtable对象进行 搜索 -> 删除 操作时遇到的一个问题,开始的使用我使用的是Hashtable的Iterator,然后直接执行: Hashtable.remove(key ...
随机推荐
- js(最新)手机号码 正则验证 - 代码篇
现在手机号码,除了以11+.12+开头的没有,别的好像都有了! 代码如下: 方法一: function checkPhone(){ var phone = $(".phone"). ...
- 基于官方Chrome、Firefox软件包得到便携版
1. 前言 安装好操作系统后,一般系统都带有浏览器,比如,Windows 10 自带Edge.Ubuntu 自带Firefox等等.有的时候我们想使用一下别的浏览器或者是别的版本(如,开发者版),可是 ...
- C#/.net程序调用python
C#/.net程序调用python C#的优势在于window下的开发,不仅功能强大而且开发周期短.而python则有众多的第三方库,可以避免自己造轮子,利用C#来做界面,而具体实现使用python来 ...
- 恢复Gitee删除的文件
在Gitee仓库中删除了某文件,发现idea里面的该文件也没有了,恢复方法: 1.在diea中找到被删掉文件所在的文件夹右键. 2.点击Local History再点击Show History. 3. ...
- Ubuntu20.04 安装RabbitMQ 亲测可行
添加Erlang repository: sudo add-apt-repository -y ppa:rabbitmq/rabbitmq-erlang 添加RabbitMQ repository: ...
- 自动删除几天前的备份集文件脚本 for windows
将以下内容根据自己想要备份的库修改后保存为del.bat,加入到计划任务中 @echo 删除指定路径下指定N天前的文件 @echo off@echo.------------------------- ...
- List循环问题
list循环时的问题,报错,称找不到该字段属性,原因如下: 1.字段名与toString里不匹配: 2.首字母大写了: 原回答:https://blog.csdn.net/qq_42671193/ar ...
- python + QML程序中调用WebView后打包
QML中如果加入了WebView控件,在用pyinstaller打包时不会自动导入,从而导致打包出的程序运行报错,no WebView plugin found,此时需要手动将WebView控件复制到 ...
- python自动化-取消"Chrome正受到自动软件的控制"提示
chrome浏览器V78及以上版本解决做法,代码如下: from selenium import webdriver chrome_options = webdriver.ChromeOptions( ...
- 通过parameters用python造数据
1.先通过命令安装allpairs库.allpairspy,命令为:pip install allpairs.pip install parameters,安装成功 2.通过python去写出来,如图 ...