Kelas Java Stack memperluas kelas Vector. Ini memungkinkan Anda membuat elemen baru, melihat elemen di tumpukan, memperbarui elemen di tumpukan, dan menghapus semua elemen dari tumpukan. Tumpukan memproses data dalam urutan first-in-last-out (FILO). Ini berarti Anda hanya dapat menambah atau menghapus item dari atas tumpukan.

Struktur data tumpukan memiliki lima metode utama. Namun, kelas Java Stack juga memiliki akses ke lebih dari 40 metode lain, yang diwarisinya dari kelas Vector.

Membuat Stack di Java

Kelas Tumpukan memiliki satu konstruktor yang memungkinkan Anda membuat tumpukan kosong. Setiap Stack memiliki argumen tipe, yang menentukan tipe data yang akan disimpannya.

impor java.util. Tumpukan;

publikkelasUtama{
publikstatisruang kosongutama(String[] argumen){
// buat tumpukan
Tumpukan Pelanggan = baru Tumpukan();
}
}

Kode di atas membuat struktur data Stack yang disebut Pelanggan yang menyimpan nilai String.

Mengisi Stack

Salah satu dari lima metode utama kelas Stack adalah dorongan() metode. Dibutuhkan satu item yang memiliki tipe data yang sama dengan Stack dan mendorong item tersebut ke atas Stack.

instagram viewer

// mengisi tumpukan
Pelanggan.push("Jane Doe");
Pelanggan.push("John Doe");
Pelanggan.push("Patrick Williams");
Pelanggan.push("Paul Smith");
Pelanggan.push("Erick Rowe");
Pelanggan.push("Ella Jones");
Pelanggan.push("Jessica Coklat");

Kode di atas mengisi Tumpukan Pelanggan dengan tujuh item. Itu mendorong setiap item baru ke atas Stack. Jadi, item yang paling atas dari Customer Stack adalah Jessica Brown. Dan Anda dapat mengonfirmasi ini menggunakan Stack mengintip() metode. Itu mengintip() metode tidak membutuhkan argumen. Ini mengembalikan objek di bagian atas Stack tanpa menghapusnya.

// melihat objek di atas tumpukan
System.out.println (Pelanggan. mengintip());

Kode di atas mengembalikan output berikut ke konsol:

Jessica Brown

Lihat Item dalam Tumpukan

Struktur data tumpukan cukup membatasi dalam cara memungkinkan Anda untuk berinteraksi dengan datanya. Anda terutama harus menggunakan Stack melalui item teratasnya. Namun, Anda juga dapat menggunakan metode yang diwarisi dari kelas Vector untuk mengakses elemen arbitrer. Metode tersebut termasuk elementAt dan removeElementAt.

Cara termudah untuk mendapatkan ikhtisar konten Stack adalah dengan mencetaknya. Berikan objek Stack ke System.out.println dan metode toString() Stack akan menghasilkan ringkasan yang bagus:

// melihat semua elemen tumpukan
System.out.println (Pelanggan);

Kode di atas mencetak output berikut ke konsol:

[Jane Doe, John Doe, Patrick Williams, Paul Smith, Erick Rowe, Ella Jones, Jessica Brown]

Mencari Posisi Item dalam Tumpukan

Jika Anda mengetahui suatu item di dalam Stack, Anda dapat mengidentifikasi posisi indeksnya atau posisinya relatif terhadap bagian atas Stack. Itu Indeks() metode mengambil item di Stack dan mengembalikan posisi indeksnya. Perhatikan bahwa Stack mulai mengindeks itemnya dari nol.

// temukan posisi indeks item
System.out.println(Pelanggan.indexOf("Jane Doe"));

Kode di atas mencetak output berikut ke konsol:

0

Itu Cari() metode adalah salah satu metode utama kelas Stack. Ini mengembalikan posisi item relatif terhadap bagian atas tumpukan, di mana item di bagian atas tumpukan memiliki posisi nomor satu.

System.out.println(Pelanggan.search("Jane Doe"));

Kode di atas mencetak output berikut ke konsol:

7

Jika Anda menyediakan Cari() atau Indeks() metode dengan item yang tidak ada di Tumpukan, mereka akan mengembalikan yang negatif.

System.out.println(Pelanggan.search("Elsa Doe"));
System.out.println(Pelanggan.indexOf("Elsa Doe"));

Kode di atas mencetak output berikut ke konsol:

-1
-1

Memperbarui Item dalam Tumpukan

Anda hanya dapat memanipulasi item di bagian atas Stack. Jadi, jika Anda ingin memperbarui elemen yang tidak ada di bagian atas Stack, Anda harus mengeluarkan semua item di atasnya. Itu pop() adalah salah satu metode utama Stack. Itu pop() metode tidak membutuhkan argumen. Ini menghapus item di bagian atas tumpukan dan mengembalikannya.

// memperbarui objek
Pelanggan.pop();
Pelanggan.pop();
Pelanggan.push("Ella James");
Pelanggan.push("Jessica Coklat");
System.out.println (Pelanggan);

Kode di atas mencetak output berikut ke konsol:

[Jane Doe, John Doe, Patrick Williams, Paul Smith, Erick Rowe, Ella James, Jessica Brown]

Seperti yang Anda lihat dari output, kode memperbarui nama keluarga Ella menjadi James. Ini melibatkan proses yang mengeluarkan item dari tumpukan hingga Anda tiba di objek target. Kemudian muncul objek target; memperbaruinya; dan mendorongnya, bersama dengan item yang berada di atas item target, kembali ke tumpukan. Anda harus menggunakan program yang melakukan operasi seperti di atas, setiap kali Anda ingin memperbarui item di Stack Anda.

Menghapus Item Dari Tumpukan

Untuk menghapus satu item dari struktur data Stack, Anda dapat kembali menggunakan metode pop(). Jika item yang ingin Anda hapus tidak berada di bagian atas, Anda dapat memunculkan item di bagian atas hingga Anda mencapai item yang diinginkan.

Menghapus Semua Item dalam Tumpukan

Untuk menghapus semua elemen dari Stack, Anda dapat menggunakan a Java while loop dengan metode pop() untuk menghapus elemen satu per satu. Pendekatan yang lebih efisien, bagaimanapun, adalah dengan menggunakan jernih() metode. Itu jernih() metode adalah salah satu yang diwarisi kelas Stack dari kelas Vector. Tidak memerlukan argumen, tidak mengembalikan apa pun, tetapi cukup menghapus semua elemen dalam struktur data Stack.

// hapus semua item dalam tumpukan
Pelanggan.clear();
System.out.println (Pelanggan.kosong());

Kode di atas menghapus semua item di Customer Stack. Ia kemudian menggunakan kosong() metode untuk memeriksa apakah Stack kosong. Itu kosong() adalah metode utama lain dari Java Stack Class. Tidak membutuhkan argumen dan mengembalikan nilai Boolean. Metode ini mengembalikan true jika Stack kosong dan false sebaliknya.

Kode di atas mencetak output berikut ke konsol:

BENAR

Aplikasi Praktis untuk Struktur Data Stack

Struktur data Stack sangat ketat. Ini tidak memberikan banyak fleksibilitas dalam pemrosesan data seperti struktur data lainnya. Ini menimbulkan pertanyaan: kapan Anda harus menggunakan struktur data Stack?

Struktur data Stack sangat cocok untuk aplikasi yang memerlukan pemrosesan data dalam urutan terbalik. Ini termasuk:

  • Sebuah aplikasi yang memeriksa apakah sebuah kata adalah palindrom.
  • Aplikasi yang mengubah bilangan desimal menjadi bilangan biner.
  • Aplikasi yang memungkinkan pengguna untuk membatalkan.
  • Game yang memungkinkan pengguna untuk kembali ke gerakan sebelumnya, seperti permainan catur.