JAVA DEVELOPER PROFESSIONAL: THE STREAM API EĞİTİMİ

Stream API ile koleksiyonları akıtın

filter, map, flatMap, reduce, Collectors, Optional, parallelStream ve özel collector yazımı.

Eğitim Stream API'nin kaynak, ara işlem ve terminal işlem modelini, lazy evaluation ve short-circuit davranışını, Collectors.groupingBy/partitioningBy/teeing gibi collector'ları, flatMap, reduce, primitive stream, Optional, paralel stream.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Stream pipeline tasarımı ve Collectors ustalığı

Eğitim Stream API'nin kaynak, ara işlem ve terminal işlem modelini, lazy evaluation ve short-circuit davranışını, Collectors.groupingBy/partitioningBy/teeing gibi collector'ları, flatMap, reduce, primitive stream, Optional, paralel stream ve Spliterator konularını işler. Pipeline hata ayıklama, istisna yönetimi ve JMH ile ölçüm de ele alınır.

Süre ve Format

2 Gün. Her gün dört modül; Stream Temelleri ve Ara İşlemler; Collectors, Reduce ve Paralel Stream ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Java Stream API ile fonksiyonel veri işleme, collector'lar, paralel stream ve performans

Öğrenme Metodu

Her konu gerçekçi bir veri seti (sipariş, müşteri, log kayıtları) üzerinde IDE'de yazılır; pipeline'lar peek ve debugger ile adım adım izlenir.

Neden Bu Eğitim?

🌊Akış mantığı

Lazy evaluation ve pipeline modelini anlayarak doğru sonuç ve performans alırsınız.

📊Güçlü toplama

Collectors ile karmaşık gruplama ve istatistik sorgularını tek ifadede yazarsınız.

⚡Paralellik kararı

parallelStream'in ne zaman fayda ne zaman zarar getirdiğini ölçerek seçersiniz.

Anahtar Konular

java stream apijava collectorsgroupingByjava parallel streamflatMapjava lambdajava 8 stream eğitimiOptional java
“Okunabilir pipeline, hızlı pipeline'dan önce gelir; ikisini de ölçerek dengeleyin.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Lambda ve fonksiyonel arayüzler

Function, Predicate, Supplier ve method reference bilgisi.

2
Koleksiyonlar

List, Set, Map ve Comparator kullanımı.

3
JDK 17+

JDK 17 veya üzeri ile IDE kurulumu.

4
Generics

Wildcard ve tip çıkarımı temel bilgisi.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiPipeline mimarisi
Modül 1
Stream Modeli
  • Collection.stream, Stream.of, Arrays.stream, Stream.iterate ve generate
  • Ara ve terminal işlem ayrımı, tek kullanımlık stream
  • Lazy evaluation ve işlem birleştirme (fusion)
  • Stateless ve stateful ara işlemler (sorted, distinct)
  • Sonsuz stream ve limit, takeWhile, dropWhile
  • IllegalStateException: stream has already been operated
Modül 2
Dönüştürme İşlemleri
  • filter, map, mapToInt ve boxed dönüşümleri
  • flatMap ile iç içe koleksiyonları düzleştirme
  • peek ile pipeline izleme ve yanlış kullanımı
  • sorted ve Comparator.comparing zincirleri
  • skip, limit ile sayfalama
  • mapMulti ile bire-çok dönüşüm
Modül 3
Primitive Stream
  • IntStream, LongStream, DoubleStream ve range/rangeClosed
  • sum, average, summaryStatistics
  • Boxing maliyeti ve mapToObj
  • Random.ints ile veri üretimi
  • String.chars ve codePoints ile metin işleme
  • Primitive ve nesne stream performans karşılaştırması
Modül 4
Optional ve Stream
  • Optional.map, flatMap, orElseGet farkları
  • findFirst ve findAny davranışı
  • Optional.stream ile pipeline entegrasyonu
  • anyMatch, allMatch, noneMatch short-circuit
  • Optional kötü kullanım örnekleri
  • Null güvenli pipeline tasarımı
Günün hedefiToplama ve performans
Modül 1
Collectors
  • toList, toSet, toMap ve duplicate key hatası
  • groupingBy ile çok seviyeli gruplama ve downstream collector
  • partitioningBy, counting, summingInt, averagingDouble
  • joining, mapping, filtering, flatMapping collector'ları
  • Collectors.teeing ile iki sonucu birleştirme
  • toUnmodifiableList ve Stream.toList farkı
Modül 2
Reduce ve Özel Collector
  • reduce'un identity, accumulator, combiner parametreleri
  • Değişmez ve değişebilir reduction ayrımı
  • Collector.of ile özel collector yazımı
  • Supplier, accumulator, combiner, finisher ve characteristics
  • Yan etkili lambda'ların neden sorun olduğu
  • Stateful lambda ve thread-safety
Modül 3
Paralel Stream
  • ForkJoinPool.commonPool ve paralellik düzeyi
  • Spliterator ve kaynak bölünebilirliği (ArrayList vs LinkedList)
  • Sıralı ve sırasız sonuç, forEachOrdered
  • Paralel stream'de paylaşılan durum hataları
  • Özel ForkJoinPool içinde çalıştırma
  • Ne zaman paralel kullanılmamalı
Modül 4
Ölçüm ve Uygulama
  • JMH ile stream ve for döngüsü karşılaştırması
  • Checked exception'ların lambda içinde yönetimi
  • Pipeline'ın debugger ile izlenmesi
  • Okunabilirlik için pipeline'ı metotlara bölme
  • Log analiz uygulaması: grup, sıralama, istatistik
  • Refactoring: for döngülerinden stream'e ve geri dönüş kararı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Pipeline kurma

Kaynak, ara ve terminal işlemlerle doğru stream pipeline'ları yazabilirsiniz.

🎯
Lazy davranış

Lazy evaluation ve short-circuit etkisini hesaba katabilirsiniz.

🧩
Gruplama

groupingBy ve downstream collector'larla çok boyutlu rapor üretebilirsiniz.

⚙️
flatMap

İç içe koleksiyonları flatMap ile tek akışa indirgeyebilirsiniz.

🔍
Özel collector

Collector.of ile kendi toplama mantığınızı yazabilirsiniz.

🛠️
Optional kullanımı

Optional'ı stream ile güvenli biçimde birleştirebilirsiniz.

📈
Paralel karar

Paralel stream'in getirisini JMH ile ölçüp karar verebilirsiniz.

🚀
Hata ayıklama

Karmaşık pipeline'ları peek ve debugger ile izleyebilirsiniz.

Kimler İçin Uygundur?

  • Java 8+ lambda bilgisine sahip
  • koleksiyon işleme kodunu daha okunur
  • verimli hale getirmek isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java 8+ lambda bilgisine sahip, koleksiyon işleme kodunu daha okunur ve verimli hale getirmek isteyen geliştiriciler için uygundur.
Eğitime katılmak için hangi ön bilgiler gerekir?
Lambda ve fonksiyonel arayüzler: Function, Predicate, Supplier ve method reference bilgisi. Koleksiyonlar: List, Set, Map ve Comparator kullanımı.
Eğitim nasıl ilerler ve kaç gün sürer?
Eğitim 2 gün sürer; her gün dört modülden oluşur ve her modülde anlatım ile uygulamalı çalışma birlikte yürür. Günler sırasıyla: Stream Temelleri ve Ara İşlemler; Collectors, Reduce ve Paralel Stream.
Eğitim sonunda sertifika verilir mi?
Evet, katılım ve başarı koşullarını sağlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
Paralel stream her zaman daha hızlı mıdır?
Hayır. Küçük veri kümeleri, bölünmesi zor kaynaklar ve paylaşılan durum paralel stream'i yavaşlatabilir; eğitimde JMH ile ölçümle karar verme gösterilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Java Developer Professional: The Stream API Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMGenerics in Java: Bounded Type Parameters & Wildcards Eğitimi
Yazılım Geliştirme Eğitimleri

Generics in Java: Bounded Type Parameters & Wildcards Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Java generics ileri eğitimi: bounded type parameter, wildcard, PECS kuralı, type erasure, recursive bound ve @SafeVarargs ile tip güvenli API tasarımı.

Detayları Gör →
Java ve JVMGenerics in Java: Creating Classes and Methods Using Generics Eğitimi
Yazılım Geliştirme Eğitimleri

Generics in Java: Creating Classes and Methods Using Generics Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java generics ile sınıf ve metot yazma eğitimi: generic sınıf, arayüz, metot, diamond operatörü, Comparable sınırı, Iterable gerçekleme ve generic repository uy

Detayları Gör →
Java ve JVMGetting Started with Gradle for Spring Boot Eğitimi
Yazılım Geliştirme Eğitimleri

Getting Started with Gradle for Spring Boot Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Spring Boot için Gradle eğitimi: build.gradle, Kotlin DSL, Spring Boot plugin, bootJar, bootBuildImage, çok projeli yapı, version catalog ve CI entegrasyonu.

Detayları Gör →
Java ve JVMGetting Started with Java: Operators Eğitimi
Yazılım Geliştirme Eğitimleri

Getting Started with Java: Operators Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java operatörleri eğitimi: aritmetik, atama, karşılaştırma, mantıksal, bitwise, shift, üçlü operatör, öncelik kuralları ve integer overflow örnekleriyle başlang

Detayları Gör →
Java ve JVMGetting Started with Java: Variables & Primitive Types Eğitimi
Yazılım Geliştirme Eğitimleri

Getting Started with Java: Variables & Primitive Types Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java değişkenleri ve primitive tipler eğitimi: int, double, char, boolean, referans tipler, String, wrapper sınıflar, tip dönüşümü ve değişken kapsamı ile başla

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn