我将 ArrayList 的迭代器用作:
List<String> al = new ArrayList<>();
// ----- Logic for adding elements-----
Iterator it = al.iterator();
// logic to retrieve elements----
然后它尝试在 ListIterator 上工作,就像这样。
ListIterator li = al.listIterator();
while(li.hasNext()) {
System.out.print(li.next()+" ");
}
它起作用了......
我尝试用此方法进行向后检索
ListIterator li = al.listIterator();
while(li.hasPrevious()) {
System.out.print(li.previous()+" ");
}
但它不起作用。
下面的代码可以运行。
ListIterator<String> li = al.listIterator(al.size());
while(li.hasPrevious()) {
System.out.println(li.previous()+" ");
}
我想知道有一些泛型的概念,但不太清楚。 请明确 Iterator 和 ListIterator 的概念。 为什么 ListIterator 的一种语句有效,而另一种则无效?
最佳答案
第一个从列表的开头开始,因此没有任何先前的元素。
第二个从末尾开始,因此包含前面的元素。
就这么简单。
关于java - 如何使用ListIterator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43437541/