Middle
Iterator ve ListIterator arayüzlerini karşılaştırın. Ana farkları nelerdir ve hangi durumlarda her birini kullanmak daha iyidir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Iterator, koleksiyon içeriğini tek yönlü (ileriye doğru) dolaşmaya, hasNext() ile bir sonraki öğe olup olmadığını kontrol etmeye ve next() ile öğeyi almaya olanak tanır. Ayrıca, mevcut öğeyi (remove()) silebilir. Bu, Iterable arayüzünü uygulayan herhangi bir koleksiyonda genel dolaşım için kullanılır.
ListIterator, Iterator'den kalıtım alır ve şu özellikleri ekler:
- Her iki yönde hareket (
hasPrevious(),previous()). - Mevcut (
nextIndex()) ve önceki (previousIndex()) öğenin indeksini alma. - Öğeyi değiştirme (
set()). - Öğeyi ekleme (
add()).
ListIterator, yalnızca indekslerle çalıştığı için List arayüzünü uygulayan koleksiyonlara uygulanabilir.
Herhangi bir Iterable koleksiyonunda genel dolaşım ve öğe silme işlemleri için Iterator kullanın. List üzerinde özel işlemler (iki yönlü hareket, değiştirme, indeksle ekleme) için ListIterator kullanın.