[英]How to iterate a LinkedList elements in reverse order?
我是Java Collections的新手,我懷疑為什么我不能在向后的方向上遍歷鏈表中的元素。我將解釋我做了什么,請澄清我的懷疑。
我不能在同一個程序中使用iterator和listiterator接口來遍歷前向和后向迭代中的一組元素嗎?
代碼片段:
import java.util.*; class NewClass{ public static void main(String args[]){ LinkedList<String> obj = new LinkedList<String>(); obj.add("vino"); obj.add("ajith"); obj.add("praveen"); obj.add("naveen"); System.out.println(obj); System.out.println("For loop "); //using for loop for(int count=0; count < obj.size(); count++){ System.out.println(obj.get(count)); } System.out.println("For each loop "); //using foreach loop for(String s:obj){ System.out.println(s); } System.out.println("Whileloop "); //using whileloop int count=0; while(obj.size() > count){ System.out.println(obj.get(count)); count++; } System.out.println("Forward Iterations "); //using iterator Iterator it = obj.iterator(); while(it.hasNext()){ System.out.println(it.next()); } ListIterator lit = obj.listIterator(); System.out.println("Backward Iterations"); while(lit.hasPrevious()){ System.out.println(lit.previous()); } } }
產量
[vino, ajith, praveen, naveen] For loop vino ajith praveen naveen For each loop vino ajith praveen naveen Whileloop vino ajith praveen naveen Forward Iterations vino ajith praveen naveen Backward Iterations
Backward Iterations的輸出在哪里? 請有人幫幫我。謝謝
我想你想要一個descendingIterator
。
Iterator lit = obj.descendingIterator();
System.out.println("Backward Iterations");
while(lit.hasNext()){
System.out.println(lit.next());
}
您可以這樣做,但是您需要使用方法listIterator(int index)
來指定您希望從List
的末尾開始。
LinkedList<String> obj = new LinkedList<String>();
obj.add("vino");
obj.add("ajith");
obj.add("praveen");
obj.add("naveen");
ListIterator<String> it = obj.listIterator(obj.size());
while (it.hasPrevious())
System.out.println(it.previous());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.