黑马程序员技术交流社区

标题: 增强for里的一个特殊点点,求【各路神仙】路过看看 [打印本页]

作者: 大木木    时间: 2015-11-17 22:34
标题: 增强for里的一个特殊点点,求【各路神仙】路过看看
本帖最后由 大木木 于 2015-11-17 22:47 编辑
  1. import java.util.*;
  2. class Demo {
  3.         public static void main(String[]asd) {
  4.                 ArrayList<String> list=new ArrayList<>();
  5.                 list.add("a");
  6.                 list.add("b");
  7.                 list.add("c");
  8.                 list.add("d");
  9.                 for(Object obj:list) {
  10.                         if("c".equals(obj)) {
  11.                         //除了remove倒数第二个元素外,其他都异常
  12.                                 list.remove(obj);
  13.                         }
  14.                 }
  15.                 for(Object obj:list) {
  16.                         System.out.println(obj);
  17.                 }
  18.         }
  19. }
复制代码


增强for里的一个特殊点点,虽然有大神讲解过了,然而还是不太懂。有木有高人说两句
作者: dongran    时间: 2015-11-18 00:36
增加for循环用的迭代遍历,在循环里做修改需要用到迭代的方法,底层有个值在remove后会发生改变。
作者: wx_YXxWrUwd    时间: 2015-11-18 00:45
不懂 坐等回答
作者: 大木木    时间: 2015-11-18 17:07
dongran 发表于 2015-11-18 00:36
增加for循环用的迭代遍历,在循环里做修改需要用到迭代的方法,底层有个值在remove后会发生改变。 ...

一般增强for里是不允许修改的,但是为啥倒数第二个元素却可以咧(并没有报错)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2