ListIterator ile listeleri değiştirme

Java'da Girdi/Çıktı ve Akışlar

Alex Liu

Software Development Engineer

Iterator ve ListIterator

Iterator ve ListIterator karşılaştırması

Java'da Girdi/Çıktı ve Akışlar

Örnek ArrayList

import java.util.ArrayList;
public class SampleData {
    public static void main(String[] args) {
        ArrayList<String> names = new ArrayList<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");
    }
}  
[Alice, Bob, Charlie]
Java'da Girdi/Çıktı ve Akışlar

ListIterator ile listeyi dolaşma

// ListIterator sınıfını içe aktarın
import java.util.ListIterator;

// Örnek `names` listesi için ListIterator nesnesi oluşturun ListIterator<String> it = names.listIterator(); // .hasNext() ve `.next()` kullanarak listeyi dolaşın ve satır satır yazdırın while (it.hasNext()) { System.out.println(it.next()); }
Alice 
Bob 
Charlie
Java'da Girdi/Çıktı ve Akışlar

ListIterator ile geriye gitme

  • Listede geriye gitmek için .previous() kullanın
// Örnek `names` listesi için ListIterator nesnesi oluşturun
ListIterator<String> it = names.listIterator(names.size());
// İteratör listenin başına ulaştı mı kontrol etmek için .hasPrevious() kullanın
while (it.hasPrevious()) {
    // Öğeleri tersten almak için .previous() kullanın
    System.out.println(it.previous());}
  • Ters sırada yazdırın, çıktı:
Charlie
Bob
Alice
Java'da Girdi/Çıktı ve Akışlar

Yineleme sırasında öğeleri değiştirme

  • .set() yöntemini kullanma
// Örnek names listesi için ListIterator nesnesi oluşturun
ListIterator<String> it = names.listIterator();

// Listeyi dolaşın ve .set() ile öğeyi değiştirin while (it.hasNext()) { String name = it.next(); if ("Bob".equals(name)) it.set("Bobby"); }
  • Güncellenmiş names listesi:
[Alice, Bobby, Charlie]
Java'da Girdi/Çıktı ve Akışlar

Yineleme sırasında öğe ekleme

  • Öğeleri eklemek için .add() kullanın
ListIterator<String> it = names.listIterator();

// Listeyi dolaşın ve .add() ile öğe ekleyin while (it.hasNext()) { String name = it.next(); if ("Charlie".equals(name)) it.add("David"); }
  • Güncellenmiş names listesi:
    [Alice, Bobby, Charlie, David]
    
Java'da Girdi/Çıktı ve Akışlar

Özet

  • ListIterator, Iterator'ı genişletir
    • İleri ve geri dolaşımı destekler
    • Yineleme sırasında öğeleri değiştirmeye izin verir
  • Temel Yöntemler Özeti

    • .next()/.previous(): İleri/geri gezinme
    • .set(): Geçerli öğeyi değiştirir
    • .add(): Dinamik ekleme yapar
    • .remove(): Güvenle siler
    • Yalnızca List'lerde çalışır (ArrayList, LinkedList, vb.)
Java'da Girdi/Çıktı ve Akışlar

Hadi pratik yapalım!

Java'da Girdi/Çıktı ve Akışlar

Preparing Video For Download...