ADVANCED FEATURES IN JAVA: USING THE JAVA STREAM API WITH COLLECTIONS EĞİTİMİ

Koleksiyonları Stream API ile akıt

filter, map, flatMap, reduce, Collectors.groupingBy ve paralel stream ile koleksiyon verisini deklaratif işleyin.

Java Stream API ve Collections eğitimi 2 günlük uygulamalı programda stream kavramı, ara i̇şlemler, terminal i̇şlemler, optional ve primitive akışlar gibi konuları kapsar. Kaynak, ara işlem ve terminal işlemden oluşan stream hatlarını yazabilirsiniz.

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

Eğitim Hakkında

Stream işlem hattı, Collectors, gruplama ve paralel akışlar

Bu eğitim, Java Stream API'nin koleksiyonlar üzerinde kullanımını işler. Stream kaynakları, ara işlemler (filter, map, flatMap, distinct, sorted, limit, peek) ve terminal işlemleri (collect, reduce, count, anyMatch, findFirst) ile tembel (lazy) değerlendirme anlatılır. Collectors ile toList, toMap, joining, groupingBy, partitioningBy ve downstream collector'lar, Optional kullanımı, primitive stream'ler (IntStream, summaryStatistics), parallelStream ve ForkJoinPool etkileri, stream'lerin yaygın hataları ve for döngüsüyle performans karşılaştırması ele alınır.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar stream temelleri konusundan başlayıp collectors ve gerçek kullanım konusuyla tamamlar.

Seviye

Orta Seviye — Collections üzerinde Stream API ile filtreleme, dönüştürme, gruplama ve toplama işlemleri.

Öğrenme Metodu

Aynı veri işleme problemi önce döngüyle, sonra Stream ile çözülür; çıktı, okunabilirlik ve süre karşılaştırılır.

Neden Bu Eğitim?

🌊Deklaratif Kod

Uzun döngüleri okunur stream işlem hatlarına dönüştürürsünüz.

📊Gruplama Gücü

groupingBy ve downstream collector ile raporlama sorgularını bellekte çözersiniz.

⚠️Tuzak Bilinci

Paralel stream ve yan etki hatalarını tanırsınız.

Anahtar Konular

java stream apijava 8 streamcollectors groupingbyjava flatmapjava parallel streamstream api örneklerijava lambdajava collections streamjava optionaljava reduce
“İyi stream kodu, ne yapıldığını anlatır; nasıl yapıldığını gizler.”

Ön Koşullar

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

1
Java Sözdizimi

Değişken, döngü, metot ve sınıf tanımlayabilecek düzeyde temel Java bilgisi beklenir.

2
Nesne Yönelimli Bilgi

Sınıf, kalıtım, arayüz ve polimorfizm kavramlarına aşinalık faydalıdır.

3
Geliştirme Ortamı

JDK 17 veya üzeri ile IntelliJ IDEA ya da Eclipse kurulu bir bilgisayar gerekir.

4
Komut Satırı

javac, java ve Maven/Gradle ile derleme-çalıştırma adımlarını izleyebilmek yararlıdır.

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 hedefiKatılımcı, stream işlem hatlarını kurar ve tembel değerlendirme mantığını açıklar.
Modül 1
Stream Kavramı
  • Stream ile Collection farkı: veri değil işlem hattı
  • Stream kaynakları: stream(), of, iterate, generate
  • Tek kullanımlık stream ve IllegalStateException
  • Tembel değerlendirme ve kısa devre
  • Lambda ve method reference hatırlatması
  • Stream'in kaynağı değiştirmemesi ilkesi
Modül 2
Ara İşlemler
  • filter ile koşullu seçim
  • map ile dönüştürme ve mapToInt
  • flatMap ile iç içe listeleri düzleştirme
  • distinct, sorted ve Comparator zincirleri
  • limit, skip ve takeWhile/dropWhile
  • peek ile hata ayıklama ve yan etki uyarısı
Modül 3
Terminal İşlemler
  • forEach ve forEachOrdered
  • collect ve toList() (Java 16)
  • reduce ile toplama, çarpma, birleştirme
  • count, min, max ve sum
  • anyMatch, allMatch, noneMatch
  • findFirst, findAny ve Optional dönüşü
Modül 4
Optional ve Primitive Akışlar
  • Optional.map, orElse, orElseGet, orElseThrow
  • IntStream.range ve rangeClosed
  • boxed, mapToObj ve asLongStream
  • summaryStatistics ile istatistik
  • average ve OptionalDouble
  • Stream.iterate ile sonsuz dizi ve limit
Günün hedefiKatılımcı, Collectors ile gruplama ve istatistik raporları üretir ve paralel stream kullanım kararını verir.
Modül 1
Collectors
  • toList, toSet, toCollection
  • toMap ve yinelenen anahtar çakışması (merge function)
  • joining ile metin birleştirme
  • counting, summingInt, averagingDouble
  • mapping ve filtering downstream collector
  • teeing collector ile iki sonucu birleştirme
Modül 2
Gruplama
  • groupingBy tek seviyeli gruplama
  • İç içe groupingBy ve TreeMap fabrikası
  • partitioningBy ile iki parçaya bölme
  • Gruplanmış veriyi sayma ve toplama
  • Çalışan listesinden departman maaş raporu
  • Sipariş listesinden en çok satan ürünler
Modül 3
Paralel Akışlar
  • parallelStream ve ortak ForkJoinPool
  • Bölünebilir (splittable) kaynak ve ArrayList avantajı
  • Durumsuz ve ilişkisiz işlem şartları
  • Paylaşılan değişkende yarış durumu örneği
  • Ne zaman paralel kullanılmamalı: küçük veri, I/O
  • Sıralı ve paralel sürelerin ölçümü
Modül 4
Kalıp ve Hatalar
  • for döngüsü ile stream seçim ölçütleri
  • Stream içinde istisna yönetimi
  • Yan etkili lambda ve kapsam hataları
  • Okunabilirlik: uzun zincirleri metoda ayırma
  • Stream debug teknikleri
  • Refactoring: eski döngü kodunu stream'e çevirme egzersizi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Pipeline Kurma

Kaynak, ara işlem ve terminal işlemden oluşan stream hatlarını yazabilirsiniz.

🧠
Tembel Değerlendirme

Stream işlemlerinin ne zaman çalıştığını açıklayabilirsiniz.

⚙️
Dönüştürme

map ve flatMap ile iç içe veriyi düzleştirip dönüştürebilirsiniz.

🔍
Collectors

toMap, joining ve counting gibi collector'ları doğru kullanabilirsiniz.

🛠️
Gruplama

groupingBy ve partitioningBy ile rapor niteliğinde özetler çıkarabilirsiniz.

📈
Optional Kullanımı

Optional ile null kontrolünü akışa entegre edebilirsiniz.

🧩
Paralel Karar

Paralel stream'in uygun ve uygun olmayan durumlarını ayırt edebilirsiniz.

🚀
Refactoring

Eski döngü tabanlı kodu okunur stream koduna dönüştürebilirsiniz.

Kimler İçin Uygundur?

  • Java 8+ lambda ifadelerini bilen
  • koleksiyon işleme kodunu daha okunur
  • deklaratif yazmak isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java 8+ lambda ifadelerini bilen, koleksiyon işleme kodunu daha okunur ve deklaratif yazmak isteyen geliştiriciler için uygundur.
Lambda bilgisi şart mı?
Temel lambda ve method reference sözdizimi bilinmelidir; eğitimde kısa bir hatırlatma yapılır ancak ağırlık Stream işlem hatlarındadır.
Paralel stream her zaman daha hızlı mıdır?
Hayır. Küçük veri ve I/O işlerinde paralel akış yavaşlayabilir; eğitimde ölçümle gösterilir ve karar ölçütleri çıkarılır.
Eğitim için hangi ön bilgi ve ortam gerekir?
Değişken, döngü, metot ve sınıf tanımlayabilecek düzeyde temel Java bilgisi beklenir. Sınıf, kalıtım, arayüz ve polimorfizm kavramlarına aşinalık faydalıdır. JDK 17 veya üzeri ile IntelliJ IDEA ya da Eclipse kurulu bir bilgisayar gerekir.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. 2 günlük program boyunca uygulama çalışmalarının tamamlanması beklenir.

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. Advanced Features in Java: Using the Java Stream API with Co 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 JVMSpring: Extending Applications with Aspect-oriented Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Spring: Extending Applications with Aspect-oriented Programming Eğitimi

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

Spring AOP ile uygulama genişletme eğitimi: aspect tasarımı, introduction, @Transactional ve @Cacheable iç yapısı, AspectJ weaving ve aspect testleri.

Detayları Gör →
Java ve JVMTemel Java Eğitimi
Yazılım Geliştirme Eğitimleri

Temel Java Eğitimi

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

Temel Java eğitimi: sözdizimi, OOP, koleksiyonlar, istisna yönetimi, Stream API, dosya işlemleri, Maven ve JUnit ile sıfırdan uygulamalı Java öğrenimi.

Detayları Gör →
Java ve JVMTest Driven Development & Java & JUnit Eğitimi
Yazılım Geliştirme Eğitimleri

Test Driven Development & Java & JUnit Eğitimi

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

Java ile test güdümlü geliştirme eğitimi: Red-Green-Refactor, JUnit 5, Mockito, AssertJ, parametreli testler, JaCoCo ve mutation testing uygulamalı işlenir.

Detayları Gör →
Java ve JVMTest-Driven Development Workshop with Java Eğitimi
Yazılım Geliştirme Eğitimleri

Test-Driven Development Workshop with Java Eğitimi

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

Java ile uygulamalı TDD atölyesi: katalar, eşli programlama, outside-in TDD, Mockito, characterization test ve legacy koda güvenli değişiklik ekleme.

Detayları Gör →
Java ve JVMThe Scala Programming Language Eğitimi
Yazılım Geliştirme Eğitimleri

The Scala Programming Language Eğitimi

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

Scala programlama eğitimi: case class, pattern matching, trait, değişmez koleksiyonlar, Option ve Either, Future ve sbt ile fonksiyonel JVM geliştirme.

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