Sobes.tech
Middle

Iterator və ListIterator interfeyslərini müqayisə edin. Onların əsas fərqləri nələrdir və hansı hallarda hər birini istifadə etmək daha yaxşıdır?

sobes.tech Süni İntellekt

AI-dan cavab

Iterator kolleksiyanın elementlərini tək istiqamətdə (irəli) keçməyə, hasNext() ilə növbəti elementin olub-olmadığını yoxlamağa və onu almağa (next()) imkan verir. O, cari elementi (remove()) silə bilər. Bu, Iterable interfeysini həyata keçirən hər hansı kolleksiyanı ümumi keçirmək üçün istifadə olunur.

ListIterator Iterator-dən irsən gəlir və funksionallıq əlavə edir:

  • Hər iki istiqamətdə hərəkət (hasPrevious(), previous()).
  • Cari (nextIndex()) və əvvəlki (previousIndex()) elementin indeksini alma.
  • Elementi dəyişdirmək (set()).
  • Element əlavə etmək (add()).

ListIterator yalnız indekslə işləyən List interfeysini həyata keçirən kolleksiyalara tətbiq oluna bilər, çünki indekslərlə işləyir.

Hər hansı Iterable kolleksiyasında ümumi keçid və elementlərin silinməsi üçün Iterator istifadə edin. List ilə xüsusi əməliyyatlar (iki istiqamətli hərəkət, dəyişdirmə, indekslə əlavə etmə) üçün ListIterator istifadə edin.