對于Iterator中的remove()方法,若使用不當,則會報錯,想要熟練使用remove()方法來删除元素需要深入了解該方法.
文章目錄
- remove()方法
- 删除集合中的所有元素
- java.lang.IllegalStateException異常
- java.util.NoSuchElementException異常
- Java ConcurrentModificationException異常
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorRemoveDemo {
public static void main(String[] args) {
List list = new ArrayList(5);
for (int i = 0; i < 5; i++) {
list.add(i);
}
System.out.println(list);
// 移除最後通路的元素
iterator.next();
iterator.next();
iterator.remove();
System.out.println(list);
}
}
/*輸出:
[0, 1, 2, 3, 4]
[0, 2, 3, 4]
*/
remove()方法
該方法移除的是iterator.next()方法最後通路的元素.
删除集合中的所有元素
while(iterator.hasNext()) {//通過周遊來删除list中所有元素
iterator.next();
iterator.remove();
}
通過周遊集合元素,來依次删除該集合中的元素.當然也可以添加控制條件,來删除集合中想要删除的元素.
java.lang.IllegalStateException異常
( 如果 next方法尚未被調用,或者 remove方法在上次調用 next方法之後已經被調用 )
- 直接使用remove方法,而未調用next()方法.
- 當調用next()方法之後,使用了remove()方法,但是接着又使用remove(),則會出現該錯誤.