Sobes.tech
Middle

Uporedite interfejse Iterator i ListIterator. Koje su njihove glavne razlike i u kojim slučajevima je bolje koristiti svaki od njih?

sobes.tech АИ

Одговор од АИ

Iterator omogućava prolazak kroz elemente kolekcije u jednom pravcu (napred), proveru da li postoji sledeći element (hasNext()) i njegovo dobijanje (next()). Može da ukloni trenutni element (remove()). Koristi se za opšti prolazak bilo koje kolekcije koja implementira interfejs Iterable.

ListIterator nasleđuje od Iterator i dodaje funkcionalnosti:

  • Kretanje u oba pravca (hasPrevious(), previous()).
  • Dobijanje indeksa trenutnog (nextIndex()) i prethodnog (previousIndex()) elementa.
  • Izmena elementa (set()).
  • Dodavanje elementa (add()).

ListIterator je primenjiv samo na kolekcije koje implementiraju interfejs List, jer radi sa indeksima.

Koristite Iterator za univerzalno prolaz i brisanje elemenata u bilo kojoj Iterable kolekciji. Koristite ListIterator za specijalizovane operacije sa List (dvostrano kretanje, izmena, dodavanje po indeksu).