Akışlara Giriş

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

Alex Liu

Software Development Engineer

Streams ile çalışmak

  • Java Streams

    • Veri koleksiyonlarını fonksiyonel işler ve büyük veride performansı iyileştirir
    • Desteklenen Koleksiyonlar:
      • Listeler (örn. ArrayList, LinkedList)
      • Kümeler (örn. HashSet, TreeSet)
      • Haritalar (Keys/Values Stream olabilir) (örn. HashMap, TreeMap)
      • Diziler (Arrays.stream() ile)
  • Video boyunca kullanılacak names adlı örnek ArrayList

    names: ["Alice", "Bob", "Charlie", "David"]
    
Java'da Girdi/Çıktı ve Akışlar

Stream ile lambda ifadeleri kullanma

  • Lambda İfadeleri
    • Sözdizimi: (parameters) -> { expression }
names.forEach(
    // `name` listedeki her öğeyi temsil eden parametredir
    name -> 
        // Her öğe için çalıştırılan ifadedir.
        System.out.println(name));
Alice 
Bob 
Charlie 
David
Java'da Girdi/Çıktı ve Akışlar

Stream oluşturma

  • Veri koleksiyonunu Stream'e dönüştürme

    • Koleksiyonda .stream() kullanın
    • List, Set ve Queue desteklenir
  • Stream sınıfını içe aktarın

    import java.util.stream.Stream;
    
  • Örnek liste names Streame dönüştürüldü ve her öğeye erişmek için .foreach() kullanıldı.
    Stream<String> stream = names.stream();
    stream.forEach(name -> System.out.println(name));
    
Java'da Girdi/Çıktı ve Akışlar

Streams ile veri filtreleme

  • Öğeleri seçmek için .filter() kullanın
    • Sadece eşleşen öğeleri tutar
  • Örnek liste names Streame dönüştürüldü
    Stream<String> stream = names.stream();
    
  • A ile başlayanları eşleştirmek için .filter() ve yazdırmak için .forEach() kullanın
    stream
      .filter(name -> name.startsWith("A"))
      .forEach(name -> System.out.println(name));
    
  • Filtre sonucu: Alice
Java'da Girdi/Çıktı ve Akışlar

Streams ile öğe sayma

  • Öğeleri saymak için .count() kullanın

    • long döndürür
  • Örnek liste names Streame dönüştürüldü

    Stream<String> stream = names.stream();
    
  • B ile başlayanları eşleştirmek için .filter(), saymak için .count() kullanın

    long count = names.stream()
      .filter(name -> name.startsWith("B"))
      .count();
    
  • Sayım sonucu: 1 (B ile başlayan tek öğe Bob)

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

Streams ne zaman kullanılır

  • Streams Ne Zaman Kullanılır:
    • Büyük veri kümeleri için: Performans yükünü azaltır
    • Fonksiyonel işlemler için: Döngülerden daha okunabilir
    • Filtreleme ve dönüşümler için: Kodu basitleştirir
  • Streams NE ZAMAN KULLANILMAZ:
    • Orijinal koleksiyonları değiştirmek için
    • Yan etkili basit döngüler için
Java'da Girdi/Çıktı ve Akışlar

Hadi pratik yapalım!

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

Preparing Video For Download...