Panduan Awal untuk Java Stack Class

Pengenalan

Hai di sana, pembangun Java masa depan! Hari ini, kita akan menyelam ke dunia yang menarik kelas Java Stack. Jangan khawatir jika anda belum pernah menulis satu baris kode sebelumnya – saya akan menjadi pemandu yang ramah untuk anda dalam perjalanan yang menarik ini.

Java - Stack Class

Bayangkan anda mengorganisir buku anda. Anda menumpuknya, satu di atas yang lain. Buku terakhir yang anda letakkan di atas rak adalah yang pertama yang anda akan ambil apabila anda memerlukannya. Itulah cara kerja Stack di Java! Ia adalah struktur data "Last-In-First-Out" (LIFO) dan sangat berguna dalam pemrograman.

Deklarasi Kelas

Mari kita mulai dengan dasar-dasar. Di Java, kelas Stack adalah sebahagian dari paket java.util. Untuk menggunakannya, anda perlu mengimport seperti ini:

import java.util.Stack;

Kelas Stack mengekstensi kelas Vector dan mengimplementasikan antara muka seperti List, Collection, Iterable, Cloneable, dan Serializable. Jangan khawatir jika istilah ini terdengar seperti bahasa alien sekarang – kita akan sampai ke situ!

Konstruktor Kelas

Kelas Stack hanya memiliki satu konstruktor:

Stack<E> stack = new Stack<E>();

Di sini, 'E' adalah placeholder untuk jenis elemen yang anda ingin simpan di atas rak anda. Ia bisa menjadi Integer, String, atau jenis objek lain. Contohnya:

Stack<Integer> numberStack = new Stack<Integer>();
Stack<String> bookStack = new Stack<String>();

Pada baris pertama, kita membuat rak yang akan menyimpan bilangan bulat. Pada baris kedua, kita membuat rak untuk string – sempurna untuk analogi rak buku kita!

Metode Kelas

Sekarang, mari kita lihat metode utama kelas Stack. Saya akan menyajikannya dalam tabel untuk referensi yang mudah:

Metode Keterangan
push(E item) Menambahkan item ke atas rak
pop() Menghapus dan mengembalikan item atas rak
peek() Mengembalikan item atas tanpa menghapusnya
empty() Memeriksa jika rak 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");

Di sini, kita menambahkan buku ke rak 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 atas rak dan mengembalikannya.

peek()

String nextBook = bookStack.peek();
System.out.println("Buku berikutnya untuk dibaca: " + nextBook);

Ini memberitahu kita buku atas 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 memiliki buku untuk dibaca!");
}

Ini memeriksa jika rak kita kosong. Itu seperti memeriksa jika kita telah selesai membaca 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 rak.");
}

Ini mencari buku di atas rak kita. Ingat, posisi dihitung dari atas, dan item atas adalah di posisi 1.

Metode Yang Dikekalkan

Kelas Stack juga menghasilkan metode dari kelas induknya, Vector, dan antara muka yang ia implementasikan. Beberapa metode yang berguna yang diwariskan termasuk:

  • size(): Mengembalikan jumlah elemen di atas rak
  • contains(Object o): Memeriksa jika objek di atas rak
  • clear(): Menghapus semua elemen dari rak

Contoh

Mari kita gabungkan semuanya dengan contoh yang menyenangkan. Bayangkan kita mengatur rak 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("Rak pancake: " + pancakes);

        // Makan pancake atas
        String eatenPancake = pancakes.pop();
        System.out.println("Yum! Just ate a " + eatenPancake + " pancake.");

        // Memeriksa pancake berikutnya
        System.out.println("Next pancake is: " + pancakes.peek());

        // Menambahkan lebih banyak pancake
        pancakes.push("Banana");

        // Memeriksa ukuran rak
        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 atas.");
        } else {
            System.out.println("Tidak ada pancake Plain lagi!");
        }
    }
}

Output

Apabila anda menjalankan kode ini, anda akan lihat seperti ini:

Rak pancake: [Plain, Blueberry, Chocolate Chip]
Yum! Just ate a Chocolate Chip pancake.
Next pancake is: Blueberry
Jumlah pancake yang tersisa: 3
Pancake Plain adalah 3 dari atas.

Dan itu adalah! Anda baru saja belajar dasar-dasar kelas Java Stack. 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.

Teruskan untuk berlatih, dan segera anda akan menumpuk dan menghapus data seperti seorang pro! Selamat coding, dan semoga rak anda selalu penuh dengan pancake yang lezat... Saya maksud, data yang berguna!

Credits: Image by storyset