我正在创建一个链接列表类,并尝试实现此 contains()
方法。
我有 head
和 tail
哨兵节点,因此循环从 head.next
开始。 length
是列表的大小。关于我能给你们的一切:O
public boolean contains(T entry) {
boolean found = false;
Node current = head.next;
for (int i = 0; i < length; i++) {
if (current.equals(entry)) {
found = true;
}
current = current.next;
}
return found;
}
最佳答案
问题是您正在将 Node
与 T
进行比较,如果您的 equals 方法正确满足正确的约定,则不同的类始终会返回 false。
即重新检查这一行:
if (current.equals(entry)) {
关于java - 这个 contains(T Entry) 方法有什么问题? java 。链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8207868/