黑马程序员技术交流社区

标题: 关于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