我正在用 Java 实现单向链表,但遇到了问题。 添加和删除节点,很多人使用临时节点是这样的:
public Object removeFirst() {
Node temp = head;
head = temp.next;
Object returnData = temp.data;
temp = null;
size--;
return returnData;
}
为什么需要这个临时节点?乍一看,我认为要删除第一个元素我要做的就是将第二个元素更改为头节点。
所以我的问题是,在 java 中,object= object
是什么意思? 2 个对象在继承每个字段和方法时变得完全相同吗?
最佳答案
temp
不是必需的。它用于在 head
变量不再引用那个 Node
之后获取被删除的 Node
的数据,但是没有它也可以完成:
public Object removeFirst()
{
Object returnData = head.data;
head = head.next;
size--;
return returnData;
}
关于Java,当你执行 object = object 时内部发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48621253/