我想學習Java中鏈表和有大約代碼如下一些問題:如何在鏈表中創建根節點?
public class List {
Node root;
public List() {
// constructor
}
public int pop() {
// pop logic
}
public int push(int data) {
// push logic
}
}
我想有彈出,推動數據到鏈表List類。但是,由於列表在實例化時沒有任何默認數據,因此存儲對根節點的引用的最佳方式是什麼?
在C,我只想有一個像指針:
Node * root;
但由於Java沒有指針,就會有一個簡單的聲明,如:
Node root;
...是否可以接受?我有一段時間沒有使用過Java,但是沒有將內存分配給作爲類變量聲明的對象導致潛在的內存問題?謝謝!
變量存儲值。對於非基元類型,這些值(內部)是對對象的「引用」,或者是null。我更喜歡使用術語「名稱」,例如'Node n1 = new Node();節點n2 = n1;' - >新節點「由n1和n2(它是*相同*節點對象)命名,因爲兩個變量將」評估「到相同的對象。這種行爲類似於C/C++中的指針。對於非基元類型,在賦值時(或傳遞給方法時)有* no *隱式複製/複製/克隆;這與C++中的複製構造函數不同。 – 2012-04-03 22:32:04