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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Android666 中级黑马   /  2016-2-18 18:19  /  807 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ArrayList<String> list = new ArrayList<>();
                list.add("java");
                list.add("aaa");
                list.add("java");
                list.add("java");
        list.add("bbb");
下面可以删除list中所有的“java”的代码是(   )
for (int i = list.size()-1; i >= 0; i--) {
                        if("java".equals(list.get(i))){
                                list.remove(i);
                        }
        }

1 个回复

倒序浏览
这个for循环能删除所有的java,是因为他是倒序删除的。因为每删除一个java,list集合的长度和每个元素的索引都会改变,而索引是从0开始的,倒序删除保证了在删除后面元素的同时不影响前面元素的索引。
如果是正序删除,就无法删除所有java。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马