public class LinkedListExplained {
public Node head;
public Node tail;
public int size;
public LinkedListExplained() { // Constructor
head = null;
tail = null;
size = 0;
}
public class Node{ // Inner Class
String value;
Node next;
}
public void add(String value){
Node node = new Node();
node.value = value;
size ;
if (head == null){
head = node;
tail = node;
return;
}
tail.next = node;
tail = node;
}
問題,當將單個 String 值存盤到空 LinkedList 時,它是否會存盤兩次相同的值?一次是頭一次是尾?
uj5u.com熱心網友回復:
不,headandtail變數指向同一個Node物件。該物件包含String一次。
uj5u.com熱心網友回復:
如果您正在學習 Java,那么您首先需要了解的是,在 Java 中,所有看起來像物件的東西從來都不是真正的物件。它是一個指向物件的指標。當然,兩個指標可能指向同一個物件。
因此,該陳述句public Node head;沒有宣告Node. 它宣告了一個指向Node. 這就是為什么你必須new Node();稍后使用。
因此,由于您將head和tail指標都設定為指向 的同一個實體Node,因此您可能看起來擁有該節點的兩個副本,但實際上您沒有。您只有一個 的實體Node,并且有兩個指向它的指標。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442604.html
