删除List集合中的对象问题
2017-02-15 17:03
260 查看
首先,List集合三种遍历方式
List list=new ArrayList();
1.增强for循环
for(String str : list) {//其内部实质上还是调用了迭代器遍历方式,这种循环方式还有其他限制,不建议使用。
System.out.println(str);
}
2.普通for循环
for( int i = 0 ; i < list.size() ; i++) {//内部不锁定,效率最高,但在多线程要考虑并发操作的问题。
System.out.println(list.get(i));
}
3.迭代器遍历
Iterator iter = list.iterator();
while(iter.hasNext()){ //执行过程中会执行数据锁定,性能稍差,若在循环过程中要去掉某个元素只能调用iter.remove()方法。
System.out.println(iter.next());
}
结论:今天突然做到删除集合中的对象,然后用增强for循环在里面删除…发现有问题,数据库中虽然数据删除了但是控制台报错。后来发现要用专用集合删除:迭代器删除。原因是对象不锁定。上面总结别人那边复制的请原谅!
List list=new ArrayList();
1.增强for循环
for(String str : list) {//其内部实质上还是调用了迭代器遍历方式,这种循环方式还有其他限制,不建议使用。
System.out.println(str);
}
2.普通for循环
for( int i = 0 ; i < list.size() ; i++) {//内部不锁定,效率最高,但在多线程要考虑并发操作的问题。
System.out.println(list.get(i));
}
3.迭代器遍历
Iterator iter = list.iterator();
while(iter.hasNext()){ //执行过程中会执行数据锁定,性能稍差,若在循环过程中要去掉某个元素只能调用iter.remove()方法。
System.out.println(iter.next());
}
结论:今天突然做到删除集合中的对象,然后用增强for循环在里面删除…发现有问题,数据库中虽然数据删除了但是控制台报错。后来发现要用专用集合删除:迭代器删除。原因是对象不锁定。上面总结别人那边复制的请原谅!
相关文章推荐
- 关于直接比较两个对象是否相等或则说List集合里是否包含某个对象的问题
- 如何从List集合中删除对象
- Java集合list删除重复元素问题
- 遍历List集合时,删除数据的问题
- Java-集合 list对象进行指定位置插入、删除、迭代、遍历输出(具体习题讲解)
- 通过编码分别测试ArrayList 和 LinkedList 添加、删除对象时的耗时情况(精确到纳秒),并总结出以上两种集合的数据结构的不同之处。
- Hibernate 删除对象关联集合遇到的问题
- Java-集合 list对象进行指定位置插入、删除、迭代、遍历输出(具体习题讲解)
- list集合删除问题
- List集合添加对象(覆盖问题解决)
- 关于集合中在迭代器中用集合的对象删除元素的并发异常问题
- UserControl 中包含封装了集合对象的属性被设计器自动初始化所引起的错误!也有关于List的问题
- JSON转换包含Date日期属性的对象的List集合报错问题
- java集合循环中删除元素问题以List集合为例
- Struts2中表达式集合对象List<T>与对象<T>的取值时遇到的变量名的问题
- 遍历对象的list删除时报错问题。
- list集合中根据对象排序的问题
- 从集合List中删除对象,正确写法(异常java.util.ConcurrentModificationException
- List集合中删除属性(一个或者多个属性)相同的对象返回List且根据对象属性进行排序输出
- java中解决list集合里对象重复问题