好吧,我有一個類叫做CarNode:節點在java中如何工作?
public class CarNode {
private Car car;
private CarNode node;
}
和拷貝構造函數:
public CarList(CarList list) {
CarNode element = list.head;
CarNode node = new CarNode();
this.head = node;
while(element != null) {
node.setCar(element.getCar());
element = element.getNode();
if(element != null) {
node.setNode(new CarNode());
node = element;
}
}
}
什麼我不明白是怎麼元素可以得到另一個轎廂節點的整個價值element.getNode(),但你需要編寫node.setNode()和node.setCar()爲節點 ...我很困惑...
我有點困惑,因爲這是我第一次操作鏈表。所以如果我們寫CarNode node = element(在第四行),我們基本上創建了列表頭部的一個克隆?但是如果我們只想改變節點值而不改變汽車值,我們寫:node.setNode(new CarNode());?但是如何創建一個新的汽車對象將該節點設置爲LinkedList中的另一個節點?並且最後一行是正確的? – user2089523
創建一個克隆意味着有兩個CarNode指向相同的下一個CarNodes對嗎? – user2089523
我已經給原始答案增加了一些解釋。希望能幫助到你。列表中存在「頭部」會使複製列表所需的邏輯複雜化。 – arcy