【发布时间】:2013-03-31 04:09:35
【问题描述】:
public void deleteItem(int target)
{
int index = 0;
CarNode item = head;
while(item != null)
{
CarNode next = (item.node).node;
CarNode previous = item;
if (index == target)
{
previous.setNode(next);
}
item = element.node
index++;
}
}
是的,我不知道我是否理解得很好,但是我听说你可以使用引用,而不必直接引用链表的对象来对链表进行更改。
一个节点包含Car对象和LinkedList的另一个元素的节点,对吧,所以引用基本上是一个克隆,指向与原始对象相同的对象,但是为什么原始被忽略并且引用被当我们修改引用的节点时优先于原来的?抱歉,这对我来说没有任何意义,为此我已经摸索了好几个小时。
【问题讨论】:
-
我建议您查看什么是参考并重新表述您的问题。很难弄清楚你遇到了什么麻烦。 “当我们修改引用的节点时,引用优先于原始引用” 似乎没有多大意义,即使在您的代码上下文中也是如此。您可以编辑您的帖子并重新表述具体问题吗?
-
通过引用我的意思是下一个和上一个,而不是项目。
-
向我们展示
CarNode...的定义,而且CarNode next = (item.node).node;行似乎都包含错误(其中一个nodes 应该是next)and 也可能暗示下一个指针在存储在列表中的数据中,而不是在列表节点中,这将是一个设计问题。 -
私家车节点{私家车车;私有 CarNode 节点; }
-
你想要全班吗?因为它只有典型的 getter 和 setter。
标签: java linked-list nodes