Dalam tutorial ini, kita akan belajar tentang antarmuka Java Queue dan metodenya.
The Queue
antarmuka dari koleksi kerangka Java menyediakan fungsionalitas dari struktur data antrian. Ini memperluas Collection
antarmuka.
Kelas yang Menerapkan Antrian
Karena Queue
adalah antarmuka, kami tidak dapat menyediakan implementasi langsungnya.
Untuk menggunakan fungsionalitas Queue
, kita perlu menggunakan kelas yang mengimplementasikannya:
- ArrayDeque
- LinkedList
- PriorityQueue
Antarmuka yang memperluas Antrian
The Queue
antarmuka juga diperpanjang oleh berbagai subinterfaces:
Deque
BlockingQueue
BlockingDeque
Cara Kerja Struktur Data Antrian
Dalam antrian, elemen disimpan dan diakses dengan cara First In, First Out . Artinya, elemen ditambahkan dari belakang dan dihilangkan dari depan .
Bagaimana cara menggunakan Queue?
Di Jawa, kita harus mengimpor java.util.Queue
paket untuk digunakan Queue
.
// LinkedList implementation of Queue Queue animal1 = new LinkedList(); // Array implementation of Queue Queue animal2 = new ArrayDeque(); // Priority Queue implementation of Queue Queue animal 3 = new PriorityQueue();
Di sini, kita telah membuat objek kelas animal1, animal2 dan animal3 LinkedList
, ArrayDeque
dan PriorityQueue
masing - masing. Objek-objek ini dapat menggunakan fungsionalitas Queue
antarmuka.
Metode Antrian
The Queue
antarmuka mencakup semua metode yang Collection
antarmuka. Itu karena Collection
antarmuka super Queue
.
Beberapa metode Queue
antarmuka yang umum digunakan adalah:
- add () - Menyisipkan elemen yang ditentukan ke dalam antrian. Jika tugas berhasil,
add()
kembalikantrue
, jika tidak, akan muncul pengecualian. - offer () - Menyisipkan elemen tertentu ke dalam antrian. Jika tugas berhasil,
offer()
kembalikantrue
, jika tidak kembalikanfalse
. - element () - Mengembalikan kepala antrian. Melempar pengecualian jika antrian kosong.
- peek () - Mengembalikan kepala antrian. Kembali
null
jika antrian kosong. - remove () - Mengembalikan dan menghapus kepala antrian. Melempar pengecualian jika antrian kosong.
- poll () - Mengembalikan dan menghapus kepala antrian. Kembali
null
jika antrian kosong.
Implementasi Antarmuka Antrian
1. Menerapkan Kelas LinkedList
import java.util.Queue; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating Queue using the LinkedList class Queue numbers = new LinkedList(); // offer elements to the Queue numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) )
Keluaran
Antrian: (1, 2, 3) Elemen yang Diakses: 1 Elemen yang Dihapus: 1 Antrian yang Diperbarui: (2, 3)
Untuk mempelajari lebih lanjut, kunjungi Java LinkedList.
2. Menerapkan Kelas PriorityQueue
import java.util.Queue; import java.util.PriorityQueue; class Main ( public static void main(String() args) ( // Creating Queue using the PriorityQueue class Queue numbers = new PriorityQueue(); // offer elements to the Queue numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) )
Keluaran
Antrian: (1, 5, 2) Elemen yang Diakses: 1 Elemen yang Dihapus: 1 Antrian yang Diperbarui: (2, 5)
Untuk mempelajari lebih lanjut, kunjungi Java PriorityQueue.
Dalam tutorial berikutnya, kita akan belajar tentang subinterfaces berbeda dari Queue
antarmuka dan implementasinya secara detail.