Hallo zusammen,
ich habe mal eine Verständnisfrage zum Thema Iterator. Es gibt ja meines Wissens nach zwei Möglichkeiten, einen Iterator zu implementieren.
Du hast bsp. eine LinkedList erstellt und iterierst dann drüber:
Diese ist ja relativ easy, da du nur einen Iterator "it" erstellst und der die beiden Methoden "hasNext" und "next" zur Verfügung stellst.
Jetzt bin ich aber über eine zweite Möglichkeit gestolpert, einen Iterator zu implementieren:
Was ist jetzt hier der Unterschied bei den Implementierungen? Das return null und return true sind jetzt nur Platzhalter.
Wäre dankbar!
ich habe mal eine Verständnisfrage zum Thema Iterator. Es gibt ja meines Wissens nach zwei Möglichkeiten, einen Iterator zu implementieren.
Du hast bsp. eine LinkedList erstellt und iterierst dann drüber:
Java:
List<String> neueListe = new LinkedList<>();
neueListe.add("Hans");
neueListe.add("Hina");
neueListe.add("Anna");
Iterator<String> it = neueListe.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
Diese ist ja relativ easy, da du nur einen Iterator "it" erstellst und der die beiden Methoden "hasNext" und "next" zur Verfügung stellst.
Jetzt bin ich aber über eine zweite Möglichkeit gestolpert, einen Iterator zu implementieren:
Java:
@Override
public Iterator<T> iterator() {
return new Iterator<T>() {
@Override
public boolean hasNext() {
return true;
}
@Override
public T next() {
return null;
}
};
}
Was ist jetzt hier der Unterschied bei den Implementierungen? Das return null und return true sind jetzt nur Platzhalter.
Wäre dankbar!