A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 大木木 于 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里的一个特殊点点,虽然有大神讲解过了,然而还是不太懂。有木有高人说两句

3 个回复

倒序浏览
增加for循环用的迭代遍历,在循环里做修改需要用到迭代的方法,底层有个值在remove后会发生改变。
回复 使用道具 举报
wx_YXxWrUwd 来自手机 中级黑马 2015-11-18 00:45:04
藤椅
不懂 坐等回答
回复 使用道具 举报
dongran 发表于 2015-11-18 00:36
增加for循环用的迭代遍历,在循环里做修改需要用到迭代的方法,底层有个值在remove后会发生改变。 ...

一般增强for里是不允许修改的,但是为啥倒数第二个元素却可以咧(并没有报错)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马