Skip to content

M03 · Bab 3± 40 menitDraf AI

Queue, Deque, dan PriorityQueue

Tujuan belajar

  • Memakai Queue untuk antrean FIFO dengan offer, poll, dan peek
  • Membedakan method yang mengembalikan null/false dengan yang melempar exception saat antrean kosong atau penuh
  • Memakai ArrayDeque sebagai queue maupun stack (push, pop, peek)
  • Memakai PriorityQueue untuk memproses elemen terpenting lebih dulu dan memahami bahwa iterasinya tidak terurut
  • Menerapkan queue, stack, dan deque berkapasitas pada masalah backend

Prasyarat: Set & Map

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa output kode ini? Deque<Integer> s = new ArrayDeque<>(); s.push(1); s.push(2); s.push(3); System.out.println(s.pop() + " " + s.peek());
2.Apa output kode ini? PriorityQueue<Integer> pq = new PriorityQueue<>(List.of(30, 5, 20, 1)); System.out.println(pq.poll() + " " + pq.poll());
3.Worker yang memproses antrean pesanan memanggil queue.remove() setiap detik. Saat antrean kosong, worker berhenti dengan NoSuchElementException. Perbaikan yang paling tepat?
4.Kenapa kode baru sebaiknya memakai ArrayDeque sebagai stack, bukan class Stack?
5.Developer mencetak System.out.println(tasks) untuk sebuah PriorityQueue<Integer> berisi 30, 5, 20, 1, 15 dan mendapat [1, 5, 20, 30, 15]. Kenapa urutannya tidak 1, 5, 15, 20, 30?

Jawab semua soal dulu (0/5)