Junior
Čo je to iterátor a na čo je potrebný?
sobes.tech AI
Odpoveď od AI
Iterátor v Jave je objekt, ktorý umožňuje sekvenčné prechádzanie prvkov kolekcie bez nutnosti poznať jej vnútornú štruktúru.
Hlavné ciele používania iterátora:
- Abstrakcia: Poskytuje jednotný spôsob prechádzania prvkov pre rôzne typy kolekcií (zoznamy, množiny a pod.).
- Bezpečnosť: Umožňuje odstraňovať prvky z kolekcie počas prechádzania bez narušenia logiky prechádzania.
- Nezávislosť: Prechádzanie prvkov nezávisí od konkrétnej implementácie kolekcie.
Rozhranie Iterator<E> definuje tri hlavné metódy:
hasNext(): Vrátitrue, ak v iterácii ešte sú prvky.next(): Vráti nasledujúci prvok v iterácii.remove(): Odstráni z základnej kolekcie prvok, ktorý bol vrátený posledným volanímnext().
Príklad použitia:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
// Príklad použitia iterátora
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();
// Prechádzanie prvkov pomocou iterátora
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
// Odstránenie prvku počas prechádzania (príklad)
if (element.equals("Banana")) {
iterator.remove();
}
}
System.out.println("Po odstránení: " + list);
}
}