Modul ini memperkenalkan sisi fungsional Java: lambda, method reference, dan Optional sebagai fondasi, kemudian stream beserta operasi perantara, operasi terminal, dan collector untuk mengumpulkan hasilnya. Bagian penutup menilai stream paralel lewat pengukuran, termasuk kondisi yang membuatnya justru memperlambat program. Materinya berdiri di atas collections dan interface fungsional yang telah dibahas lebih awal di jalur ini, sehingga List, Map, dan kontrak satu metode abstrak perlu sudah dikenal sebelum masuk ke modul ini.
Lambda, Streams, dan Java Fungsional
Lambda, method reference, Optional, streams dari operasi perantara sampai terminal, dan streams paralel.
0/0 selesai
- Lambda
Menulis fungsi tanpa nama dengan sintaks lambda dan memahami aturan effectively final pada penangkapan variabel.
- Method Reference
Meringkas lambda menjadi method reference dalam empat jenisnya.
- Optional
Menggantikan null dengan Optional, memakai map dan flatMap, serta menekan NullPointerException secara benar.
- Streams: Operasi Perantara
Membangun pipeline dengan filter, map, sorted, dan distinct sambil memahami sifat lazy streams.
- Operasi Terminal Streams
Mengakhiri pipeline dengan forEach, collect, reduce, count, dan anyMatch.
- Collector
Mengumpulkan hasil streams dengan toList, groupingBy, partitioningBy, joining, dan toMap.
- Streams Paralel
Menilai kapan streams paralel membantu dan kapan justru merugikan, dibuktikan dengan pengukuran.