编程中定义的方法报异常问题
下面是一个“关于集合的迭代删除问题”
public class TestIterator{
public static void main(String[] args) {
List<String> aList = new ArrayList<String>();
aList.add("aaa");
aList.add("bbb");
aList.add("asdf");
aList.add("jvaa");
aList.add("aaaa");
aList.add("itcast");
System.out.println(aList);
delElements1(aList);
delElements2(aList);
delElements3(aList);
System.out.println(aList);
}
public static void delElements1(List<String> aList) {
for (String str : aList) {
if (str.equals("aaa")) {
aList.remove(str);
}
}
}
public static void delElements2(List<String> aList){
Iterator<String> it = aList.iterator();
while(it.hasNext()){
String str = it.next();
if(str.equals("aaa")){
aList.remove(str);
}
}
}
public static void delElements3(List<String> aList){
Iterator<String> it = aList.iterator();
while(it.hasNext()){
String str = it.next();
if(str.equals("aaa")){
it.remove();
}
}
}
}
以上代码中delElements1,delElements2都会报异常:Exception in thread "main" java.util.ConcurrentModificationException,而delElements3则不会报异常,请问这是为什么呢?
答案由读者来回答。 方便 你们来思考。
转载于:https://www.cnblogs.com/long892230/archive/2012/07/19/2669527.html
编程中定义的方法报异常问题相关推荐
- controller中执行main方法报错NoClassDefFoundError: javax/servlet/http/HttpServletResponse
controller中执行main方法报了这个错:NoClassDefFoundError: javax/servlet/http/HttpServletResponse,如下图: NoClassDe ...
- JDK8中Collectors.toMap方法报Duplicate key xxx错误信息
两种 list转map方式 方式一:这种方式 重复key的话会报错 Duplicate key xxx Map deviceDtoMap = JsonUtils.toList(deviceDtoLis ...
- Cocos2d-x编程中的runOnUiThread方法和runOnGLThread方法剖析
本文对于runOnGLThread方法的分析主要目的是为了帮助我的课程"拇指接龙游戏"学员更好地理解EasyNDK这个开源框架的使用.借助于这个框架,实现Android JAVA端 ...
- JDK8中Collectors.toMap方法报Duplicate key xxx错误信息
今天在使用JDK8中的Collectors.toMap()方法报错,错误信息是Duplicate key xxx,很明显是因为key重复造成的,此时通过使用Collectors.toMap()的重载方 ...
- python中使用ZADD方法报错AttributeError: 'int' object has no attribute 'items'
redis的版本关系 正确的完整实例如下: import pymongo import redis# 代码作用是mongodb的数据传送到redis中去 handler = pymongo.Mongo ...
- 深入分析网络编程中踩过的坑
网络编程中经常会遇到一些异常的情况,定位问题需要了解协议栈的实现,以下是工作中遇到的一些常见问题的深入分析和解决思路. 问题1:server端业务进程响应心跳超时被监控进程kill,导致数据或者逻辑异 ...
- c语言const常量用法,C++ const常量在多文件编程中的3种用法
<C++多文件编程是什么>一节提到,多文件编程中代码的划分原则是:将变量.函数或者类的声明部分存放在 .h 文件,对应的实现部分放在 .cpp 文件中.值得一提得是,此规律适用于大部分场景 ...
- java method field_java_解析Java中的Field类和Method类,Field类
Field类中定义了一些方 - phpStudy...
解析Java中的Field类和Method类 Field类Field类中定义了一些方法,可以用来查询字段的类型以及设置或读取字段的值.将这些方法与继承而来的member方法结合在一起.就可以使我们能够 ...
- java编程中的异常分析及面向对象的思考总结[图]
java编程中的异常分析及面向对象的思考总结[图] 1.异常: 程序中出现的不正常现象. 2.异常的由来: 程序在运行的过程中出现了不正常的情况,程序把它看成对象提取了属性行为(名字,原因,位置等信息 ...
最新文章
- 刘铁岩:如何四两拨千斤,高效地预训练NLP模型?
- 视图插入数据_带切片器的数据透视图
- Linux硬链接 软链接
- springMVC 前后台日期格式传值解决方式之一(共二) @DateTimeFormat的使用和配置...
- php去掉内部空格_php中去掉头尾空格3种方法
- hello.cpp 第一个C++程序(本博客没有特指都是以QT测试)
- MPC实现自动驾驶轨迹跟踪
- 基于OpenCV的计算机视觉入门(1)图片操作入门
- 编译原理(第3版)习题精选与解析(第三章部分解析)
- cad2004教程_CAD卸载教程
- 坦克采样器加钢琴鼓组弦乐打击音源-IK Multimedia SampleTank 4 v4.1.4 + Library
- Sqlmap命令讲解
- java毕设答辩准备
- php比较asc,php小技巧之过滤ascii控制字符
- macOS开启高性能模式
- logo制作软件 Ai怎么设计创意LOGO
- ECCV2018论文,以及相关比赛地址
- 气候变化对深圳的影响
- Mybatis缓存机制(一级缓存、二级缓存、三级缓存)
- Python3自然语言处理(3)——WordNet
热门文章
- 两个list关联合并_算法分享---两个有序链表的合并(C语言)
- xp框架下载官方_斐讯路由器系列「K1-K2-K2P-K2T」-Breed刷入工具v1.1支持XP系统
- 单刹车信号不合理故障_关于汽车制动系统有哪些故障?该如何解决?
- python列表元素零的移动_python列表多行
- BZOJ-1005-明明的烦恼
- 【GDKOI2004】使命的召唤
- c++ list容器获取第n给元素_深入Python(17)-List 的 append 和 pop
- java 整数加减_Java计算长整数加减(字符串表示)
- 山东青岛职称计算机报名时间2015,青岛市2015年第二次职称计算机考试时间
- html背景自动换,html页面换皮肤颜色、背景图片(更换页面背景,常驻缓存)刷新保存...