Java Iterator的remove方法

来源:互联网 发布:js simpledateformat 编辑:程序博客网 时间:2024/05/13 13:57

remove()方法移除指针当前指向的元素,指针并不会移动。所以一次迭代中remove()方法只能调用一次,如果调用两次就会报IllegalStateException异常。如下图

这里写图片描述

正因为如此,所以remove()方法一般配合next()方法使用。

示例代码:

package com.cqdxwjd.chapter8;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class SimpleCollection {    public static void main(String[] args) {        Collection c = new ArrayList();        for (int i = 0; i < 10; i++) {            c.add(Integer.toString(i));        }        Iterator it = c.iterator();        while (it.hasNext()) {            System.out.println(it.next());        }        System.out.println(it.hasNext());        it = c.iterator();        for (int i = 0; i < 10; i++) {            if (i != 5) {                System.out.println(it.next());            }            if (i == 5) {                it.remove();            }        }        System.out.println(it.hasNext());        it = c.iterator();        while (it.hasNext()) {            System.out.println(it.next());        }    }}

运行结果为:
0
1
2
3
4
5
6
7
8
9
false
0
1
2
3
4
5
6
7
8
true
0
1
2
3
5
6
7
8
9
可以通过自己分析验证结果。

0 0
原创粉丝点击