Dalam tutorial ini, kita akan belajar tentang antarmuka Deque, cara menggunakannya, dan metodenya.
The Deque
antarmuka dari koleksi kerangka Java menyediakan fungsionalitas antrian double-berakhir. Ini memperluas Queue
antarmuka.
Bekerja dari Deque
Dalam antrian biasa, elemen ditambahkan dari belakang dan dihapus dari depan. Namun, dalam deque, kami dapat memasukkan dan menghapus elemen dari depan dan belakang .
Kelas yang menerapkan Deque
Untuk menggunakan fungsionalitas Deque
antarmuka, kita perlu menggunakan kelas yang mengimplementasikannya:
- ArrayDeque
- LinkedList
Bagaimana cara menggunakan Deque?
Di Java, kita harus mengimpor java.util.Deque
paket untuk digunakan Deque
.
// Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList();
Di sini, kami telah membuat objek animal1 dan animal2 dari kelas ArrayDeque dan LinkedList, masing-masing. Objek-objek ini dapat menggunakan fungsionalitas Deque
antarmuka.
Metode Deque
Sejak Deque
memperluas Queue
antarmuka, itu mewarisi semua metode antarmuka Antrian.
Selain metode yang tersedia di Queue
antarmuka, Deque
antarmuka juga menyertakan metode berikut:
- addFirst () - Menambahkan elemen yang ditentukan di awal deque. Melempar pengecualian jika deque sudah penuh.
- addLast () - Menambahkan elemen yang ditentukan di akhir deque. Melempar pengecualian jika deque sudah penuh.
- offerFirst () - Menambahkan elemen yang ditentukan di awal deque. Mengembalikan
false
jika deque sudah penuh. - offerLast () - Menambahkan elemen tertentu di akhir deque. Mengembalikan
false
jika deque sudah penuh. - getFirst () - Mengembalikan elemen pertama deque. Melempar pengecualian jika deque kosong.
- getLast () - Mengembalikan elemen terakhir dari deque. Melempar pengecualian jika deque kosong.
- peekFirst () - Mengembalikan elemen pertama deque. Menampilkan
null
jika deque kosong. - peekLast () - Mengembalikan elemen terakhir dari deque. Menampilkan
null
jika deque kosong. - removeFirst () - Mengembalikan dan menghapus elemen pertama deque. Melempar pengecualian jika deque kosong.
- removeLast () - Mengembalikan dan menghapus elemen terakhir dari deque. Melempar pengecualian jika deque kosong.
- pollFirst () - Mengembalikan dan menghapus elemen pertama deque. Menampilkan
null
jika deque kosong. - pollLast () - Mengembalikan dan menghapus elemen terakhir dari deque. Menampilkan
null
jika deque kosong.
Deque sebagai Stack Data Structure
The Stack
kelas dari Java Collections
framework menyediakan implementasi stack.
Namun, disarankan untuk menggunakan Deque
sebagai tumpukan alih-alih kelas Stack. Itu karena metode Stack
disinkronkan.
Berikut adalah metode yang Deque
disediakan antarmuka untuk mengimplementasikan tumpukan:
push()
- menambahkan elemen di awal dequepop()
- menghapus elemen dari awal dequepeek()
- mengembalikan elemen dari awal deque
Implementasi Deque di Kelas ArrayDeque
import java.util.Deque; import java.util.ArrayDeque; class Main ( public static void main(String() args) ( // Creating Deque using the ArrayDeque class Deque numbers = new ArrayDeque(); // add elements to the Deque numbers.offer(1); numbers.offerLast(2); numbers.offerFirst(3); System.out.println("Deque: " + numbers); // Access elements of the Deque int firstElement = numbers.peekFirst(); System.out.println("First Element: " + firstElement); int lastElement = numbers.peekLast(); System.out.println("Last Element: " + lastElement); // Remove elements from the Deque int removedNumber1 = numbers.pollFirst(); System.out.println("Removed First Element: " + removedNumber1); int removedNumber2 = numbers.pollLast(); System.out.println("Removed Last Element: " + removedNumber2); System.out.println("Updated Deque: " + numbers); ) )
Keluaran
Deque: (3, 1, 2) Elemen Pertama: 3 Elemen Terakhir: 2 Elemen Pertama Dihapus: 3 Elemen Terakhir Dihapus: 2 Deque yang Diperbarui: (1)
Untuk mempelajari lebih lanjut, kunjungi Java ArrayDeque.