Junior
Co je to iterátor a k čemu je potřeba?
sobes.tech AI
Odpověď od AI
Iterátor v Javě je objekt, který umožňuje sekvenční procházení prvků kolekce bez nutnosti znát její vnitřní strukturu.
Hlavní cíle použití iterátoru:
- Abstrakce: Poskytuje jednotný způsob procházení prvků různých typů kolekcí (seznamy, množiny atd.).
- Bezpečnost: Umožňuje odstraňovat prvky z kolekce během iterace, aniž by došlo k narušení logiky průchodu.
- Nezávislost: Procházení prvků nezávisí na konkrétní implementaci kolekce.
Rozhraní Iterator<E> definuje tři hlavní metody:
hasNext(): Vracítrue, pokud v iteraci ještě jsou prvky.next(): Vrací následující prvek v iteraci.remove(): Odstraňuje z základní kolekce prvek, který byl vrácen posledním volánímnext().
Příklad použití:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
// Příklad použití iterátoru
public class IteratorExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
Iterator<String> iterator = list.iterator();
// Procházení prvků pomocí iterátoru
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
// Odstranění prvku během iterace (příklad)
if (element.equals("Banana")) {
iterator.remove();
}
}
System.out.println("Po odstranění: " + list);
}
}