gpt4 book ai didi

java - 链表添加和删除功能

转载 作者:行者123 更新时间:2023-12-01 13:47:11 24 4
gpt4 key购买 nike

我正在尝试创建一个包含项目的链接列表,它似乎正在添加到列表中,因为我添加了三个,并且长度表明列表中有 3 个项目。

我的删除功能如何不起作用,我正在尝试从列表中删除特定项目,该列表包含三个项目,但它只是返回 false 并且不会从列表中删除该项目

public void tableInsert (T newItem) throws TableException {
if (head == null)
head = new Node(newItem);
else {
Node tmp = head;
while (tmp.getNext() != null)
tmp = tmp.getNext();
tmp.setNext(new Node(newItem));
}
}

这是删除功能

public boolean tableDelete (KT searchKey) {
if (head.getItem() == searchKey) {
head = head.getNext();
return true;
}

Node current = head.getNext();
Node prev = head;

while (current!= null) {
if (current.getItem() == searchKey){
prev.setNext(current.getNext());
return true;
}
prev = current;
current = current.getNext();
}

return false;
}

最佳答案

我怀疑问题是使用 == 进行相等比较。这会比较对象引用,而您可能需要对 current.getItem()searchKey 进行深度比较。

关于java - 链表添加和删除功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20274091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com