遍历集合的时候删除元素

package chapter0902需要看;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/*
* 遍历集合的时候删除元素
* IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size() )
*/
public class TestList03 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
// 普通for正着删除元素示例,不能彻底删除,打印结果是:a c
/*
* for(int i=0;i<list.size();i++){ // 遍历集合 //
* System.out.println(list.get(i)); Object object=list.remove(i);
* System.out.println(object); }
*/
// ConcurrentModificationException原因:Object object:list中Object&list集合不相等
/*
* 增强for循环 for (Object object : list) {
* System.out.println(list.remove(object)); }
*/
// 迭代器边边里边删除
Iterator iter = list.iterator();
while (iter.hasNext()) {
// 遍历集合
Object obj = iter.next();
// System.out.println(obj);--打印结果:a b c d
// 让迭代器发生位移操作
iter.remove();
/*
* 可以看到集合被一个一个的删除: System.out.println(list); 打印结果: a [b, c, d] b [c,
* d] c [d] d []
*/
}
// 打印最终结果如下:
System.out.println("最后打印出:" + list);
}

}

// 最后打印出:[]

posted @ 2018-08-24 16:45  Monica_维维  阅读(486)  评论(0编辑  收藏  举报