Iteratoren und erweiterte for-Schleife
Durchlaufen Sie Collections mit Iterator und der erweiterten for-Schleife. Lernen Sie, während der Iteration sicher zu entfernen, und machen Sie sich mit typischen Fallstricken vertraut.
Iteratoren und erweiterte for-Schleife ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Überblick
Iterator ermöglicht eine schrittweise Kontrolle beim Durchlaufen einer Collection. Die erweiterte for-Schleife (for-each) ist kürzer und übersichtlich, wenn Sie Elemente lesen. Verwenden Sie Iterator, wenn Sie während des Durchlaufens sicher entfernen müssen.
Iterator vs. for-each
- Iterator: Verwenden Sie ihn, wenn Sie möglicherweise Elemente entfernen oder eine präzise Kontrolle benötigen.
- Erweiterte for-Schleife: am besten für Schleifen, die nur lesen.
- Ändern Sie die Collection innerhalb einer erweiterten for-Schleife niemals strukturell.
Code: grundlegender Iterator
Iterator verwendet hasNext() und next(). Jeder Aufruf von next() bewegt die Iteration weiter und gibt das Element zurück.
public class Main {
public static void main(String[] args) {
java.util.List<String> names = new java.util.ArrayList<>();
names.add("Ada"); names.add("Bob"); names.add("Cyd");
java.util.Iterator<String> it = names.iterator();
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
}
}
Stolperstein
Stolperstein: Direktes Entfernen innerhalb einer erweiterten for-Schleife führt oft zu ConcurrentModificationException. Verwenden Sie Iterator für sichere strukturelle Änderungen.
Code: sicheres Entfernen
Sicheres Entfernen: Rufen Sie remove() direkt nach next() am Iterator auf, wenn eine Übereinstimmung gefunden wird.
public class Main {
public static void main(String[] args) {
java.util.List<String> words = new java.util.ArrayList<>();
words.add("to"); words.add("be"); words.add("or"); words.add("not");
java.util.Iterator<String> it = words.iterator();
while (it.hasNext()) {
String w = it.next();
if (w.length() <= 2) {
it.remove(); // safe removal
}
}
System.out.println(words); // [not]
}
}
Code: erweiterte for-Schleife/forEach
Die erweiterte for-Schleife eignet sich gut zum Lesen. forEach mit einem Lambda ist eine weitere kurze Schreibweise (Java 8+).
public class Main {
public static void main(String[] args) {
java.util.Set<String> tags = new java.util.HashSet<>();
tags.add("java"); tags.add("collections"); tags.add("oop");
// enhanced for: read-only
for (String t : tags) {
System.out.print("[" + t + "]");
}
System.out.println();
// Java 8+ forEach
tags.forEach(t -> System.out.println("tag=" + t));
}
}
Check zum Entfernen mit Iterator
Kurzer Check: Wie entfernen Sie Elemente sicher, während Sie eine List durchlaufen?
Zusammenfassung
Zusammenfassung: Verwenden Sie die erweiterte for-Schleife für einfache Lesezugriffe. Verwenden Sie Iterator, wenn Sie während des Durchlaufens Elemente entfernen müssen. So verhindern Sie Laufzeitfehler.
Häufig gestellte Fragen
Ist die Lektion „Iteratoren und erweiterte for-Schleife“ kostenlos?
Ja — der vollständige Text von „Iteratoren und erweiterte for-Schleife“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Iteratoren und erweiterte for-Schleife“?
Durchlaufen Sie Collections mit Iterator und der erweiterten for-Schleife. Lernen Sie, während der Iteration sicher zu entfernen, und machen Sie sich mit typischen Fallstricken vertraut. Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.
Wie lange dauert die Lektion „Iteratoren und erweiterte for-Schleife“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Überblick über List und Set
- Iteratoren und erweiterte for-Schleife
- Hilfsfunktionen für Collections