iterator.remove();连续两次就会报错。
怎么实现啊?
Exception in thread "main" java.lang.IllegalStateException
at java.util.LinkedList$ListItr.remove(Unknown Source)
at chap20.Linklist.main(Linklist.java:45)
[b]问题补充:[/b]
恩我知道 可是就不能连续的方案了吗?
文档上说如果调用remove()之后没有调用next()或者previous()就再次调用remove()就应该抛出IllegalStateException,所以……看这里:[url]http://java.sun.com/javase/6/docs/api/java/util/ListIterator.html#remove()[/url]
因为remove()之后要调用previous或者next才能继续remove啊,呵呵
[code="java"]import java.util.*;
public class TestList {
private static List populateList() {
List list = new LinkedList();
list.add("alpha");
list.add("beta");
list.add("charlie");
list.add("delta");
list.add("echo");
return list;
}
public static void main(String[] args) {
List<String> list = populateList();
ListIterator<String> iter = list.listIterator();
iter.next(); // skip first element
iter.next();
iter.remove(); // delete second element
iter.next(); // note here: have to call next() after remove()
iter.remove();
for (String s : list) {
System.out.println(s);
}
}
}
// Output:
// alpha
// delta
// echo[/code]