黑马程序员技术交流社区
标题: 关于ArrayList类对象的普通for循环删除 [打印本页]
作者: 死灰复燃 时间: 2016-6-19 20:37
标题: 关于ArrayList类对象的普通for循环删除
ArrayList<String> list = newArrayList<>();
list.add("java");
list.add("aaa");
list.add("java");
list.add("java");
list.add("bbb");
//a)
for (int i = list.size()-1;i >= 0; i--) {
if("java".equals(list.get(i))){
list.remove(i);
}
}
//b)
for (int i =0; i <list.size(); i++) {
if("java".equals(list.get(i))){
list.remove(i);
}
}
b不能实现删除的功能,因为当i=2时,删除了java,之后集合会补上去,那么在集合的第3个空间里补上的java就不会被遍历到
所以不能实现,但a里面的从后向前删,就不会出现遍历不到的情况.感觉挺有趣的,思维拓展了.
作者: lifeiwangyue 时间: 2016-6-19 21:10
对的 来学习下
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |