黑马程序员技术交流社区

标题: for循环删除元素的问题,如果删除的元素再0索引上 这样写为什么还不报错 [打印本页]

作者: tujiu888    时间: 2016-2-3 21:32
标题: for循环删除元素的问题,如果删除的元素再0索引上 这样写为什么还不报错
package com.heima.jdk;

import java.util.ArrayList;

import com.heima.bean.Person;

public class Demo1_Foreach {
        public static void main(String[] args) {
                //demo1();
                //demo2();
                ArrayList<String> list = new ArrayList<>();
                list.add("b");
                list.add("a");
                list.add("b");
                list.add("c");
                list.add("d");
                /**/for (int i = 0; i < list.size(); i++) {
                        if ("b".equals(list.get(i))) {
                                list.remove(i--);
                        }
                }
                //list.remove(-1);
                System.out.println(list);
        }
}
作者: 轩占伟    时间: 2016-2-3 22:04
因为ArrayList集合的底层实现使用的是数组数据结构,而数组众所周知的是从0下标开始的啊
作者: shiax11    时间: 2016-2-3 22:40
。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: a373033860    时间: 2016-2-3 23:01
新人,看不懂,顶一下吧




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