我正在创建一个链表类,我正在尝试实现这个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;
}
答案 0 :(得分:6)
问题是你要将Node
与T
进行比较,如果你的equals方法正确填充了正确的合同,那么总是会返回false作为不同的类。
即。重新审视这一行:
if (current.equals(entry)) {