Java collections (lanjutan)
Queue
• Queue interface mempertahankan prinsip urutan first-in-first-out. Ini
dapat didefinisikan sebagai daftar terurut yang digunakan untuk
menampung elemen yang akan diproses. Ada berbagai kelas seperti
PriorityQueue, Deque, dan ArrayDeque yang mengimplementasikan
Queue interface.
• Instansiasi atau deklarasi Queue interface:
o Queue<String> q1 = new PriorityQueue();
o Queue<String> q2 = new ArrayDeque();
Java Collection
Queue
PriorityQueue
• PriorityQueue digunakan ketika objek-objek seharusnya diproses
berdasarkan prioritas. Telah diketahui bahwa sebuah Queue
mengikuti algoritma First-In-First-Out, tetapi terkadang elemen-
elemen dari antrean diperlukan untuk diproses sesuai dengan
prioritas, saat itulah PriorityQueue berperan.
• PriorityQueue didasarkan pada priority heap. Elemen-elemen
PriorityQueue diurutkan menurut urutan alami, atau dengan
Pembanding yang disediakan pada waktu konstruksi antrean,
tergantung pada konstruktor mana yang digunakan.
Beberapa poin penting pada Priority Queue:
• PriorityQueue tidak dapat diisi null.
• Kita tidak dapat membuat PriorityQueue yang berisi non-comparable
objek.
• PriorityQueue adalah unbound queues.
• Head dari queue ini adalah elemen terkecil sehubungan dengan
urutan yang ditentukan. Jika kelompok beberapa elemen dengan nilai
terkecil, head adalah salah satu dari elemen tersebut.
• Operasi pengambilan antrean melakukan polling, menghapus,
mengintip, dan mengakses elemen di bagian depan antrean.
ArrayDeque
• Kelas ArrayDeque mengimplementasikan Deque interface. Ini
memfasilitasi kita untuk menggunakan Deque. Tidak seperti queue,
kita dapat menambah atau menghapus elemen dari kedua ujungnya.
• ArrayDeque lebih cepat daripada ArrayList dan Stack dan tidak
memiliki batasan kapasitas.
Latihan
Buat jawaban soal berikut masing-masing menggunakan PriorityQueue
dan ArrayDeque
Soal:
1. Buatlah program Bahasa java yang menerima sejumlah inputan
bilangan bulat serta menghitung dan menampilkan nilai rata-rata
yang tersimpan dalam queue.
2. Buatlah program Bahasa java menerima sejumlah inputan bilangan
bulat serta mencari dan menampilkan elemen dengan nilai terbesar
di dalam queue.

Java Programming Language - Collections.pptx

  • 1.
  • 2.
    • Queue interfacemempertahankan prinsip urutan first-in-first-out. Ini dapat didefinisikan sebagai daftar terurut yang digunakan untuk menampung elemen yang akan diproses. Ada berbagai kelas seperti PriorityQueue, Deque, dan ArrayDeque yang mengimplementasikan Queue interface. • Instansiasi atau deklarasi Queue interface: o Queue<String> q1 = new PriorityQueue(); o Queue<String> q2 = new ArrayDeque();
  • 3.
  • 4.
    PriorityQueue • PriorityQueue digunakanketika objek-objek seharusnya diproses berdasarkan prioritas. Telah diketahui bahwa sebuah Queue mengikuti algoritma First-In-First-Out, tetapi terkadang elemen- elemen dari antrean diperlukan untuk diproses sesuai dengan prioritas, saat itulah PriorityQueue berperan. • PriorityQueue didasarkan pada priority heap. Elemen-elemen PriorityQueue diurutkan menurut urutan alami, atau dengan Pembanding yang disediakan pada waktu konstruksi antrean, tergantung pada konstruktor mana yang digunakan.
  • 5.
    Beberapa poin pentingpada Priority Queue: • PriorityQueue tidak dapat diisi null. • Kita tidak dapat membuat PriorityQueue yang berisi non-comparable objek. • PriorityQueue adalah unbound queues. • Head dari queue ini adalah elemen terkecil sehubungan dengan urutan yang ditentukan. Jika kelompok beberapa elemen dengan nilai terkecil, head adalah salah satu dari elemen tersebut. • Operasi pengambilan antrean melakukan polling, menghapus, mengintip, dan mengakses elemen di bagian depan antrean.
  • 6.
    ArrayDeque • Kelas ArrayDequemengimplementasikan Deque interface. Ini memfasilitasi kita untuk menggunakan Deque. Tidak seperti queue, kita dapat menambah atau menghapus elemen dari kedua ujungnya. • ArrayDeque lebih cepat daripada ArrayList dan Stack dan tidak memiliki batasan kapasitas.
  • 7.
    Latihan Buat jawaban soalberikut masing-masing menggunakan PriorityQueue dan ArrayDeque Soal: 1. Buatlah program Bahasa java yang menerima sejumlah inputan bilangan bulat serta menghitung dan menampilkan nilai rata-rata yang tersimpan dalam queue. 2. Buatlah program Bahasa java menerima sejumlah inputan bilangan bulat serta mencari dan menampilkan elemen dengan nilai terbesar di dalam queue.