Skip to content

M04 · Bab 5± 50 menitDraf AI

Collector & Operasi Stream Lanjutan

Tujuan belajar

  • Mengelompokkan data dengan groupingBy beserta downstream counting, summingLong, dan mapping
  • Memisahkan data menjadi dua kelompok dengan partitioningBy
  • Membangun Map dengan toMap dan menangani kunci ganda lewat merge function
  • Menggabungkan elemen dengan joining dan reduce, serta meratakan struktur bersarang dengan flatMap
  • Mengenal teeing dan stream gatherers (Gatherers.windowFixed) untuk kasus khusus

Prasyarat: Stream API Dasar

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa output dari Stream.of("a", "bb", "cc").collect(Collectors.groupingBy(String::length, Collectors.counting())) bila dicetak?
2.Sebuah job impor memanggil products.stream().collect(Collectors.toMap(Product::sku, p -> p)) dan tiba-tiba gagal setelah file CSV dari supplier berisi dua baris dengan SKU sama. Apa yang terjadi dan perbaikannya?
3.Apa output dari Stream.of(1, 2, 3).reduce(10, Integer::sum)?
4.Kode amounts.stream().collect(Collectors.partitioningBy(a -> a >= 500_000, Collectors.counting())) dijalankan pada data yang semuanya di bawah 500.000. Apa hasilnya?
5.Kamu punya List<Order> dan setiap Order berisi List<Line>. Kamu butuh total quantity per SKU dari semua pesanan. Rangkaian mana yang tepat?

Jawab semua soal dulu (0/5)