gpt4 book ai didi

java - 如何以相反的顺序迭代 LinkedList 元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:22 31 4
gpt4 key购买 nike

我是 Java 集合的新手,我的疑问是为什么我不能反向遍历链表中的元素。下面我将解释我做了什么,请澄清我的疑问。

  1. 我为正向迭代创建了接口(interface)iterator,为反向迭代创建了listiterator。为什么向后迭代不起作用?
  2. 我不能在同一个程序中使用 iteratorlistiterator 接口(interface)来向前和向后迭代遍历一组元素吗?

    代码片段:

    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

向后迭代的输出在哪里?请任何人帮助我。提前致谢

最佳答案

我想你想要一个 descendingIterator .

Iterator lit = obj.descendingIterator();
System.out.println("Backward Iterations");
while(lit.hasNext()){
System.out.println(lit.next());
}

关于java - 如何以相反的顺序迭代 LinkedList 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32546617/

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