好吧,我有一个类叫做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