Java Stack Class: Panduan Untuk Pemula
Pengenalan
Halo para pengembang Java masa depan! Hari ini, kita akan memasuki dunia yang menarik dari kelas Stack Java. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya – saya akan menjadi pemandu ramah Anda di atas perjalanan yang menarik ini.
Bayangkan Anda sedang mengorganisir buku Anda. Anda menumpuknya satu di atas yang lain. Buku terakhir yang Anda letakkan di atas tumpukan adalah yang pertama yang Anda akanambil saat Anda memerlukannya. Itu adalah persis seperti cara kerja Stack di Java! Ini adalah struktur data "Last-In-First-Out" (LIFO) yang sangat berguna dalam pemrograman.
Deklarasi Kelas
Ayo kita mulai dengan dasar-dasar. Di Java, kelas Stack adalah bagian dari paket java.util. Untuk menggunakannya, Anda perlu mengimpor seperti ini:
import java.util.Stack;
Kelas Stack mengekstensi kelas Vector dan mengimplementasikan antarmuka seperti List, Collection, Iterable, Cloneable, dan Serializable. Jangan khawatir jika istilah ini terdengar seperti bahasa alien saat ini – kita akan mencapainya!
Konstruktor Kelas
Kelas Stack memiliki hanya satu konstruktor:
Stack<E> stack = new Stack<E>();
Disini, 'E' adalah placeholder untuk jenis elemen yang Anda ingin simpan di atas stack Anda. Ini bisa Integer, String, atau jenis objek lainnya. Misalnya:
Stack<Integer> numberStack = new Stack<Integer>();
Stack<String> bookStack = new Stack<String>();
Pada baris pertama, kita membuat stack yang akan menahan integer. Pada baris kedua, kita membuat stack untuk string – sempurna untuk analogi tumpukan buku kita!
Metode Kelas
Sekarang, mari kita lihat metode utama dari kelas Stack. Saya akan menampilkan mereka dalam tabel untuk referensi mudah:
Metode | Deskripsi |
---|---|
push(E item) | Menambahkan item ke puncak stack |
pop() | Menghapus dan mengembalikan item puncak dari stack |
peek() | Mengembalikan item puncak tanpa menghapusnya |
empty() | Memeriksa apakah stack kosong |
search(Object o) | Mencari objek dan mengembalikan posisinya |
Mari kita pecahkan ini dengan beberapa contoh:
push(E item)
Stack<String> bookStack = new Stack<String>();
bookStack.push("Java for Beginners");
bookStack.push("Data Structures in Java");
Disini, kita menambahkan buku ke stack kita. "Data Structures in Java" sekarang di atas "Java for Beginners".
pop()
String topBook = bookStack.pop();
System.out.println("Buku yang dihapus: " + topBook);
Ini menghapus "Data Structures in Java" dari puncak stack dan mengembalikannya.
peek()
String nextBook = bookStack.peek();
System.out.println("Buku berikutnya untuk dibaca: " + nextBook);
Ini memberitahu kita buku puncak tanpa menghapusnya – dalam kasus ini, "Java for Beginners".
empty()
if (bookStack.empty()) {
System.out.println("Tidak ada lagi buku untuk dibaca!");
} else {
System.out.println("Anda masih punya buku untuk dibaca!");
}
Ini memeriksa apakah stack kita kosong. Itu seperti memeriksa apakah kita telah menyelesaikan semua buku kita!
search(Object o)
int position = bookStack.search("Java for Beginners");
if (position != -1) {
System.out.println("Buku ditemukan di posisi: " + position);
} else {
System.out.println("Buku tidak ditemukan di atas stack.");
}
Ini mencari buku di atas stack kita. Ingat, posisi dihitung dari puncak, dan item puncak adalah di posisi 1.
Metode Yang Dikuasai
Kelas Stack juga mengkuasai metode dari kelas induknya, Vector, dan antarmuka yang diimplementasikannya. Beberapa metode yang berguna yang dikuasai termasuk:
- size(): Mengembalikan jumlah elemen di atas stack
- contains(Object o): Memeriksa apakah objek ada di atas stack
- clear(): Menghapus semua elemen dari stack
Contoh
Mari kita gabungkan semuanya dengan contoh yang menyenangkan. Bayangkan kita sedang mengawasi tumpukan pancake kita!
import java.util.Stack;
public class PancakeStack {
public static void main(String[] args) {
Stack<String> pancakes = new Stack<>();
// Membuat pancake
pancakes.push("Plain");
pancakes.push("Blueberry");
pancakes.push("Chocolate Chip");
System.out.println("Tumpukan pancake: " + pancakes);
// Makan pancake puncak
String eatenPancake = pancakes.pop();
System.out.println("Yum! Baru saja makan pancake " + eatenPancake + ".");
// Memeriksa pancake berikutnya
System.out.println("Pancake berikutnya adalah: " + pancakes.peek());
// Menambahkan lebih banyak pancake
pancakes.push("Banana");
// Memeriksa ukuran stack
System.out.println("Jumlah pancake yang tersisa: " + pancakes.size());
// Mencari pancake
int position = pancakes.search("Plain");
if (position != -1) {
System.out.println("Pancake plain adalah " + position + " dari puncak.");
} else {
System.out.println("Tidak ada pancake plain lagi!");
}
}
}
Output
Saat Anda menjalankan kode ini, Anda akan melihat sesuatu seperti ini:
Tumpukan pancake: [Plain, Blueberry, Chocolate Chip]
Yum! Baru saja makan pancake Chocolate Chip.
Pancake berikutnya adalah: Blueberry
Jumlah pancake yang tersisa: 3
Pancake plain adalah 3 dari puncak.
Dan itu adalah! Anda baru saja belajar dasar-dasar dari kelas Stack Java. Ingat, seperti menumpuk pancake atau buku, Stack di Java mengikuti prinsip "Last-In-First-Out". Ini adalah alat yang kuat yang Anda akan temukan berguna dalam banyak skenario pemrograman.
Tetap latihan, dan segera Anda akan menumpuk dan membongkar data seperti seorang pro! Selamat coding, dan semoga stack Anda selalu penuh dengan pancake yang lezat... Saya maksud, data yang berguna!
Credits: Image by storyset