Что не так с этим методом содержит (T запись)?Джава.Связанный список - PullRequest
0 голосов
/ 21 ноября 2011

Я делаю класс связанного списка и пытаюсь реализовать этот метод 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;
}

1 Ответ

6 голосов
/ 21 ноября 2011

Проблема в том, что вы сравниваете Node с T, который, если ваш метод equals правильно выполнит правильный контракт, всегда вернет false, если это разные классы.

if (current.equals(entry)) {
...