Kelas ArrayDeque di Java: Panduan untuk Pemula
Pengantar
Halo semua, para penyihir Java masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia kelas ArrayDeque di Java. Saya tahu apa yang mungkin Anda pikirkan: "Deque? Apakah itu kata khusus berbahasa Prancis?" Padahal, tidak benar-benar! Dalam dunia pemrograman, deque (dipronounce menjadi "deck") merupakan singkatan dari double-ended queue. Itu seperti antrian di atas wahana karnaval tempat orang bisa bergabung atau meninggalkan dari kedua ujung. Keren, kan?
ArrayDeque adalah implementasi Java dari antarmuka Deque, dan merupakan alat yang kuat di atas rak pemrograman Anda. Itu seperti memiliki pisauArmy Swiss untuk penyimpanan dan manipulasi data. Jadi, tempelkan sabuk pengaman Anda, dan mari kita melompat!
Deklarasi Kelas ArrayDeque
Sebelum kita mulai menggunakan ArrayDeque, kita perlu tahu bagaimana untuk mendeklarasikannya. Ini sangat sederhana. Berikut ini adalah cara melakukannya:
import java.util.ArrayDeque;
ArrayDeque<Integer> numbers = new ArrayDeque<Integer>();
Dalam contoh ini, kita membuat ArrayDeque yang akan menyimpan objek Integer. Tapi jangan khawatir, ArrayDeque sangat fleksibel - Anda dapat menggunakannya dengan jenis objek apa pun!
Konstruktor Kelas ArrayDeque
ArrayDeque datang dengan tiga konstruktor. Pernahkah Anda membayangkan konstruktor sebagai cara berbeda untuk membuat deque Anda:
-
ArrayDeque()
: Ini membuat deque kosong dengan kapasitas awal 16 elemen. -
ArrayDeque(int numElements)
: Ini membuat deque dengan kapasitas awal yang ditentukan. -
ArrayDeque(Collection<? extends E> c)
: Ini membuat deque yang berisi elemen koleksi yang ditentukan.
Mari kita lihat ini dalam aksi:
// Konstruktor default
ArrayDeque<String> fruits1 = new ArrayDeque<>();
// Konstruktor dengan kapasitas awal
ArrayDeque<String> fruits2 = new ArrayDeque<>(20);
// Konstruktor dengan koleksi
ArrayList<String> fruitList = new ArrayList<>();
fruitList.add("Apel");
fruitList.add("Pisang");
ArrayDeque<String> fruits3 = new ArrayDeque<>(fruitList);
Metode Kelas ArrayDeque
Sekarang, mari kita lihat beberapa metode yang paling sering digunakan di ArrayDeque. Saya suka membayangkan metode ini sebagai trik-trik yang pisau Army Swiss Anda dapat lakukan.
Metode | Deskripsi |
---|---|
addFirst(E e) |
Menambahkan elemen ke depan deque |
addLast(E e) |
Menambahkan elemen ke ujung deque |
offerFirst(E e) |
Menambahkan elemen ke depan deque (mengembalikan boolean) |
offerLast(E e) |
Menambahkan elemen ke ujung deque (mengembalikan boolean) |
removeFirst() |
Menghapus dan mengembalikan elemen pertama |
removeLast() |
Menghapus dan mengembalikan elemen terakhir |
pollFirst() |
Menghapus dan mengembalikan elemen pertama (atau null jika kosong) |
pollLast() |
Menghapus dan mengembalikan elemen terakhir (atau null jika kosong) |
getFirst() |
Mengembalikan elemen pertama tanpa menghapusnya |
getLast() |
Mengembalikan elemen terakhir tanpa menghapusnya |
peekFirst() |
Mengembalikan elemen pertama tanpa menghapusnya (atau null jika kosong) |
peekLast() |
Mengembalikan elemen terakhir tanpa menghapusnya (atau null jika kosong) |
Contoh Menambahkan dan Menghapus Elemen dari ArrayDeque
Mari kita gunakan pengetahuan baru kita dengan contoh praktis. Bayangkan kita mengelola daftar tugas di mana tugas dapat ditambahkan atau dihapus dari kedua ujung.
import java.util.ArrayDeque;
public class ToDoList {
public static void main(String[] args) {
ArrayDeque<String> tasks = new ArrayDeque<>();
// Menambahkan tugas
tasks.addFirst("Bangun tidur");
tasks.addLast("Mencuci gigi");
tasks.offerFirst("Setel alarm");
tasks.offerLast("Pergi ke tempat tidur");
System.out.println("Tugas saat ini: " + tasks);
// Menghapus tugas
String firstTask = tasks.removeFirst();
String lastTask = tasks.removeLast();
System.out.println("Tugas pertama yang diselesaikan: " + firstTask);
System.out.println("Tugas terakhir yang diselesaikan: " + lastTask);
System.out.println("Tugas yang tersisa: " + tasks);
// Melihat tugas
String nextTask = tasks.peekFirst();
String finalTask = tasks.peekLast();
System.out.println("Tugas berikutnya: " + nextTask);
System.out.println("Tugas terakhir: " + finalTask);
}
}
Ayo kita pecahkan ini:
- Kita mulai dengan membuat ArrayDeque bernama
tasks
. - Kita menambahkan tugas menggunakan
addFirst()
,addLast()
,offerFirst()
, danofferLast()
. Perhatikan bagaimana kita dapat menambahkan tugas ke kedua ujung deque. - Kita kemudian menghapus tugas dari kedua ujung menggunakan
removeFirst()
danremoveLast()
. - Akhirnya, kita melihat tugas pertama dan terakhir tanpa menghapus mereka menggunakan
peekFirst()
danpeekLast()
.
Output
Ketika Anda menjalankan kode ini, Anda akan melihat sesuatu seperti ini:
Tugas saat ini: [Setel alarm, Bangun tidur, Mencuci gigi, Pergi ke tempat tidur]
Tugas pertama yang diselesaikan: Setel alarm
Tugas terakhir yang diselesaikan: Pergi ke tempat tidur
Tugas yang tersisa: [Bangun tidur, Mencuci gigi]
Tugas berikutnya: Bangun tidur
Tugas terakhir: Mencuci gigi
Dan itu sudah! Anda baru saja membuat, manipulasi, dan menjelajahi ArrayDeque. cukup keren, kan?
Ingat, praktek membuat perfect. Cobalah membuat ArrayDeque Anda sendiri dan eksperimen dengan metode berbeda. Anda dapat membuat pengelola daftar putar, pelacak riwayat browser, atau bahkan sistem undo/redo sederhana!
ArrayDeque seperti seorang teman baik - selalu ada saat Anda memerlukannya, siap untuk membantu dari kedua sisi. Jadi, jangan malu-malu, kenalilah lebih baik, dan segera Anda akan deque-ing seperti pro!
Selamat coding, para penyihir Java masa depan! ??
Credits: Image by storyset