使用Iterator的remove方法删除元素

Iterator接口的remove方法将会删除上次调用next方法时返回的元素,如果想要删除指定位置上的元素,需要越过这个元素
Iterator it= c.iterator();
it.next()//skip over the first element
it.remove();//now remove it

next方法和remove方法是相互依赖的,如果调用remove之前没有调用next将是不合法的,如果这样做,将会抛出一个IllegalStateException异常。

如果想删除两个相邻的元素,不能直接地这样调用

it.remove();
it.remove();//error

想要删除一个元素,必须先跳过该元素。

使用Iterator的remove方法删除元素_第1张图片

List list = new ArrayList();
		for(int i =1;i<10;i++){
			list.add(i);
		}
		Iterator it = list.iterator();
		while(it.hasNext()){
			//System.out.println(it.next());
			it.remove();
		}

此时抛异常,在remove面前加上next方法,就ok了。

你可能感兴趣的:(javase)