gpt4 book ai didi

java - 使用上一个迭代器逆序列表

转载 作者:行者123 更新时间:2023-12-01 13:58:09 25 4
gpt4 key购买 nike

我想从列表末尾开始并使用 ListIterators 先前的方法对其进行迭代

public void add(E obj) {    
ListIterator <E> iter = theList.listIterator();
while (iter.hasNext()) {
if (obj.compareTo(iter.next()) < 0) {
iter.previous();
iter.add(obj);
return;
}
}
iter.add(obj);
}

每次我运行测试类时,它都会从头开始迭代。

最佳答案

要以相反的顺序获取迭代器,请使用方法 list.listIterator(int index)该方法将从指定位置返回迭代器,您应该将列表的大小表示为最后一个元素索引。之后您可以使用 hasPrevious() 和 previous() 方法。这会起作用,

 // declare arraylist
ArrayList<...> a = new ArrayList<...>();

// Add elements to list.

// Generate an iterator. Start just after the last element.
ListIterator li = a.listIterator(a.size());

// Iterate in reverse.
while(li.hasPrevious()) {
System.out.println(li.previous());
}

关于java - 使用上一个迭代器逆序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19507771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com