Junior
Czym jest iterator i do czego jest potrzebny?
sobes.tech AI
Odpowiedź od AI
Iterator w Javie to obiekt, który pozwala na sekwencyjne przechodzenie przez elementy kolekcji bez konieczności znajomości jej wewnętrznej struktury.
Główne cele korzystania z iteratora:
- Abstrakcja: Zapewnia jednolity sposób przechodzenia przez elementy różnych typów kolekcji (listy, zbiory itp.).
- Bezpieczeństwo: Pozwala na usuwanie elementów z kolekcji podczas iteracji bez naruszania logiki przechodzenia.
- Niezależność: Przechodzenie przez elementy nie zależy od konkretnej implementacji kolekcji.
Interfejs Iterator<E> definiuje trzy główne metody:
hasNext(): Zwracatrue, jeśli w iteracji są jeszcze elementy.next(): Zwraca następny element w iteracji.remove(): Usuwa z podstawowej kolekcji element zwrócony ostatnim wywołaniemnext().
Przykład użycia:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
// Przykład użycia iteratora
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();
// Przechodzenie przez elementy z użyciem iteratora
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
// Usuwanie elementu podczas iteracji (przykład)
if (element.equals("Banana")) {
iterator.remove();
}
}
System.out.println("Lista po usunięciu: " + list);
}
}