黑马程序员技术交流社区
标题:
请大神给解释一下,谢谢
[打印本页]
作者:
Android666
时间:
2016-2-18 18:19
标题:
请大神给解释一下,谢谢
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);
}
}
作者:
xuecmg
时间:
2016-2-18 18:58
这个for循环能删除所有的java,是因为他是倒序删除的。因为每删除一个java,list集合的长度和每个元素的索引都会改变,而索引是从0开始的,倒序删除保证了在删除后面元素的同时不影响前面元素的索引。
如果是正序删除,就无法删除所有java。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2