Java:在双向链接列表中向前/向后移动光标

时间:2018-09-21 02:33:45

标签: java doubly-linked-list

像普通的链表一样,我有一个节点类和一个双链表类。头,尾和光标最初都设置为null。添加元素后,光标将设置为新添加的元素。假设到目前为止我已经添加了两个元素,光标正在引用第二个元素(因为它刚刚被添加了)。我如何向后移动光标,使其引用第一个元素?另外,如何将其再次移至第二个元素?

2 个答案:

答案 0 :(得分:0)

您的问题和目的不是很清楚,无论如何要遍历java集合框架的LinkedList(java集合api中的链接列表),都可以使用Iterator对象。这样光标将顺序地从一个对象移到另一个对象,直到到达终点。

我希望下面的链接有用。

https://beginnersbook.com/2014/07/java-linkedlist-iterator-example/

答案 1 :(得分:0)

据我所知,Java没有双向链表类。如果我错了请纠正我。

如果这是一个自定义的双向链接列表,您可能想知道怎么做?

// Class for Doubly Linked List 
public class DLL { 
    Node head; // head of list 

    /* Doubly Linked list Node*/
    class Node { 
        int data; 
        Node prev; 
        Node next; 

        // Constructor to create a new node 
        // next and prev is by default initialized as null 
        Node(int d) { data = d; } 
    } 
} 

public class DLLTest{
    public static void main(String[] args) {
        // setup
        Node cursor = new Node(1);
        cursor.next = new Node(2);

        Node temp = cursor;
        cursor = cursor.next;
        cursor.prev = temp;


        // To move cursor to second node, overwrite cursor with next node
        cursor = cursor.next;

        // To move cursor to first node, overwrite cursor again
        cursor = cursor.prev;
    }
}

来自https://www.geeksforgeeks.org/doubly-linked-list/

的DLL的实现