Dalam tutorial ini, kita akan belajar mengenai antara muka Java Queue dan kaedahnya.
Antara Queue
muka kerangka koleksi Java menyediakan fungsi struktur data beratur. Ia meluaskan Collection
antara muka.
Kelas yang Melaksanakan Antrian
Oleh kerana itu Queue
adalah antara muka, kami tidak dapat memberikan pelaksanaannya secara langsung.
Untuk menggunakan fungsi Queue
, kita perlu menggunakan kelas yang melaksanakannya:
- ArrayDeque
- Senarai Terpaut
- KeutamaanQueue
Antara muka yang memanjangkan Antrian
Yang Queue
antara muka juga diperluaskan oleh pelbagai subinterfaces:
Deque
BlockingQueue
BlockingDeque
Kerja Struktur Data Antrian
Dalam barisan, elemen disimpan dan diakses dengan cara First In, First Out . Artinya, elemen ditambahkan dari belakang dan dikeluarkan dari depan .
Bagaimana menggunakan Queue?
Di Jawa, kita mesti mengimport java.util.Queue
pakej 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, kami telah membuat kelas objek1, binatang2 dan haiwan3 LinkedList
, ArrayDeque
dan PriorityQueue
masing - masing Objek-objek ini dapat menggunakan fungsi Queue
antara muka.
Kaedah Beratur
Yang Queue
antara muka termasuk semua kaedah daripada Collection
antara muka. Ini kerana Collection
antara muka super Queue
.
Beberapa kaedah Queue
antara muka yang biasa digunakan adalah:
- add () - Memasukkan elemen yang ditentukan ke dalam barisan. Sekiranya tugas itu berjaya,
add()
kembalitrue
, jika tidak, ia akan membuat pengecualian. - offer () - Memasukkan elemen yang ditentukan ke dalam barisan. Sekiranya tugas itu berjaya,
offer()
kembalitrue
, jika tidak, ia akan kembalifalse
. - elemen () - Mengembalikan kepala barisan. Melontarkan pengecualian sekiranya barisan kosong.
- mengintip () - Mengembalikan kepala barisan. Kembali
null
jika barisan kosong. - remove () - Mengembalikan dan membuang kepala barisan. Melontarkan pengecualian sekiranya barisan kosong.
- poll () - Mengembalikan dan membuang kepala barisan. Kembali
null
jika barisan kosong.
Pelaksanaan Antarmuka Antrian
1. Melaksanakan 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); ) )
Pengeluaran
Antrian: (1, 2, 3) Elemen Diakses: 1 Elemen Dihapus: 1 Baris Dikemas kini: (2, 3)
Untuk mengetahui lebih lanjut, lawati Java LinkedList.
2. Melaksanakan 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); ) )
Pengeluaran
Antrian: (1, 5, 2) Elemen Diakses: 1 Elemen yang Dihapus: 1 Baris yang Dikemas kini: (2, 5)
Untuk mengetahui lebih lanjut, lawati Java PriorityQueue.
Dalam tutorial seterusnya, kita akan belajar mengenai subfungsi Queue
antara muka yang berbeza dan pelaksanaannya secara terperinci.