java for循环iterator的区别(reomve)
来源:互联网 发布:淘宝直通车出价公式 编辑:程序博客网 时间:2024/06/05 17:47
记录一下前一段时间写代码出现的一个问题。我循环一个jsonArray,为空的字段,删除掉,我一开始用的是for循环,发现删除有问题,就去百度了下,说是用迭代器(iterator),今天有空,就看了下,才发现二者的区别的。
List l = new ArrayList();l.add("");l.add("aa");l.add("bb");for(int i = 0;i < l.size(); i++){ Object data = l.get(i); if(data == null){ l.remove(i); }}
这样写循环的话,就有问题。因为第一个键值为空,所以删除下标为零的数据。然后整个list前移,下次循环i=1,然后就直接到bb了,aa就跳过去了。
正确的写法应该使用迭代器(iterator)
List l = new ArrayList();l.add("");l.add("aa");l.add("bb");Iterator iter = l.iterator();while(iter.hasNext()){ Object str = (Object) iter.next(); if(str == null){ iter.remove(); } }
这样就好了。
0 0
- java for循环iterator的区别(reomve)
- Java迭代器(iterator详解以及和for循环的区别)
- Java迭代器(iterator详解以及和for循环的区别)
- java容器(八)---Java迭代器(转)(iterator详解以及和for循环的区别)
- Java迭代器(转)(iterator详解以及和for循环的区别)
- Java迭代器(转)(iterator详解以及和for循环的区别)
- Java迭代器(转)(iterator详解以及和for循环的区别)
- for(){}与iterator()遍历循环的区别
- 迭代器Iterator与for循环的区别
- Java的Iterator和for-each 循环
- iterator详解以及和for循环的区别
- for循环的iterator方式
- for循环 增强for循环 iterator遍历集合的区别与用法
- Java中的增强for循环与iterator
- Iterator和for循环的使用
- es6的iterator和for of循环
- java--for循环,一个分号的区别
- java中两个for循环的区别
- djangobook的旧版本代码,关于数据库
- git: Why 'Everything up-to-date' when pushing
- 第三方动态权限申请_AndPermission初探
- 习惯---哈佛大学推荐20个快乐的习惯
- 我将进化成一条狗(4)——人工智能
- java for循环iterator的区别(reomve)
- 单向链表
- [C++ 从入门到放弃-01]C++STL之vector
- Fast Power 解题报告
- C#事件解析
- Windows编程_Lesson004_库存管理系统
- c语言用字符数组和字符指针删除相同字符
- Struts2(四)——页面相关内容
- 数据开发岗找实习心得