Я написал свой LinkedList
, и так как я не хочу выполнять итерации вручную и всегда проверяю null
. Я подумал, что должен написать свой собственный метод Iterator
для возврата итератора.
Моя проблема в том, что я не знаю, как связать мой список и мой итератор. Я думаю, что это более глубокая причина моей TypeMismatch
проблемы.
public class SearchList<T extends Comparable<T>> implements List<T> {
public class Node {
T obj;
Node next;
int occurences;
public Node() {
this.obj = null;
this.next = null;
this.occurences = 1;
}
}
private Node head;
//Here are my List methods
}
А вот итерационный метод
@Override
public Iterator<T> iterator() {
Node current = head;
Iterator<T> iterator = new Iterator<T>() {
@Override
public boolean hasNext() {
return current.next != null;
}
@Override
public T next() {
return current.next;
}
};
return iterator;
}
Intellij жалуется на несоответствие типов в переопределенном методе next () Итератора.
Так как мне правильно это реализовать?