小编slo*_*lll的帖子

Java中LinkedList中的指针

我正在研究链接列表,我在理解Java中的引用和指针时遇到了一些问题(还有一些我无法在互联网上找到答案的问题.)也就是说,我有一个LinkedList使用类的Node类这个:

public class LinkedList {
    public Node head;
    public LinkedList(int data) {
        head = new Node(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的Node类:

public class Node {
    public int data;
    public Node next;
    public Node(int data2) {
        data = data2;
    }
}
Run Code Online (Sandbox Code Playgroud)

我也有方法toStringLL()里面LinkedList看起来像:

public void toStringLL() {
    LinkedList l=this;
    while(l.head.next != null) {
        System.out.print(l.head.data+"->");
        l.head = l.head.next;
    }
    System.out.print(l.head.data);
    System.out.println("");
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这会toStringLL()改变我的链表清单,当我用它迭代时l.head=l.head.next?我的头脑不应该保持不变吗?我想当我写作时LinkedList l=this,我可以自由地迭代l,而不会影响this(或者我错了?)现在当我使用Node n=this.head而不是 …

java linked-list

1
推荐指数
1
解决办法
67
查看次数

标签 统计

java ×1

linked-list ×1