Skip to content

M04 · Bab 4± 45 menitDraf AI

Stream API Dasar

Tujuan belajar

  • Menyusun stream pipeline (sumber → operasi intermediate → operasi terminal)
  • Memakai filter, map, sorted, distinct, limit, dan skip untuk mengolah data collection
  • Menutup pipeline dengan toList, count, anyMatch, findFirst, dan forEach
  • Menjelaskan lazy evaluation dan kenapa stream hanya bisa dipakai sekali
  • Menghitung total dan rata-rata dengan IntStream, mapToLong, sum, dan average, serta memilih stream atau loop

Prasyarat: Lambda & Functional Interface

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa output dari System.out.println(Stream.of(5, 2, 8, 2, 9, 1).filter(n -> n > 1).distinct().sorted().skip(1).limit(2).toList());?
2.Kode orders.stream().filter(o -> o.total() > 100_000).map(o -> { System.out.println(o.id()); return o; }); dijalankan, tetapi tidak ada yang tercetak sama sekali. Kenapa?
3.Sebuah method menyimpan Stream<Order> paid = orders.stream().filter(...), memanggil paid.count(), lalu paid.toList(). Apa yang terjadi pada panggilan kedua?
4.Kamu perlu menjumlahkan qty * unitPrice dari ribuan baris pesanan. Cara mana yang paling tepat?
5.Endpoint daftar produk memakai products.stream().filter(...).toList(), lalu kode lain memanggil result.add(extra) dan melempar UnsupportedOperationException. Perbaikan yang tepat?

Jawab semua soal dulu (0/5)