Skip to content

M04 · Bab 3± 45 menitDraf AI

Lambda & Functional Interface

Tujuan belajar

  • Mengenali functional interface dan menulis lambda sebagai implementasinya
  • Memahami aturan effectively final saat lambda memakai variabel lokal
  • Memakai empat jenis method reference (Integer::parseInt, prefix::concat, String::toUpperCase, ArrayList::new)
  • Memilih interface java.util.function yang tepat dan menyusunnya dengan andThen, compose, and, negate
  • Menulis ulang kode collection dengan Comparator.comparing, removeIf, forEach, merge, dan computeIfAbsent

Prasyarat: Bounded Type, Wildcard & Type Erasure

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa output kode ini? Function<Integer, Integer> plus2 = x -> x + 2; Function<Integer, Integer> times3 = x -> x * 3; System.out.println(plus2.andThen(times3).apply(4) + " " + plus2.compose(times3).apply(4));
2.Kode long total = 0; prices.forEach(p -> total += p); gagal dikompilasi. Pesan error-nya menyebut effectively final. Perbaikan yang paling tepat?
3.Method reference String::toUpperCase dipakai sebagai Function<String, String>. Termasuk jenis apa, dan lambda setaranya?
4.Kamu ingin menjumlahkan total belanja per pelanggan ke Map<String, Long> spend. Baris mana yang benar dan paling ringkas?
5.Saat mengimplementasikan filter produk, rekan menulis List<Product> items = List.of(...); items.removeIf(p -> p.stock() == 0); dan aplikasi melempar exception. Apa penyebabnya?

Jawab semua soal dulu (0/5)