Kelas Stack Java

Dalam tutorial ini, kita akan belajar tentang kelas Java Stack dan metodenya dengan bantuan contoh.

Kerangka koleksi Java memiliki kelas bernama Stackyang menyediakan fungsionalitas struktur data tumpukan.

The Stackkelas memperluas Vectorkelas.

Implementasi Stack

Dalam tumpukan, elemen disimpan dan diakses dengan cara Terakhir Masuk Pertama Keluar . Artinya, elemen ditambahkan ke bagian atas tumpukan dan dihapus dari bagian atas tumpukan.

Membuat Stack

Untuk membuat tumpukan, kita harus mengimpor java.util.Stackpaketnya terlebih dahulu. Setelah kami mengimpor paket, berikut adalah cara membuat tumpukan di Java.

 Stack stacks = new Stack(); 

Di sini, Typemenunjukkan jenis tumpukan. Sebagai contoh,

 // Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack(); 

Metode Stack

Sejak kelas Stackmeluas Vector, itu mewarisi semua metode Vector. Untuk mempelajari tentang Vectormetode yang berbeda , kunjungi Kelas Vektor Java.

Selain metode ini, Stackkelas menyertakan 5 metode lagi yang membedakannya Vector.

push () Metode

Untuk menambahkan elemen ke atas tumpukan, kami menggunakan push()metode. Sebagai contoh,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); ) ) 

Keluaran

 Tumpukan: (Anjing, Kuda, Kucing) 

pop () Metode

Untuk menghapus elemen dari atas tumpukan, kami menggunakan pop()metode. Sebagai contoh,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Initial Stack: " + animals); // Remove element stacks String element = animals.pop(); System.out.println("Removed Element: " + element); ) ) 

Keluaran

 Tumpukan Awal: (Anjing, Kuda, Kucing) Elemen yang Dihapus: Kucing 

Peek () Metode

The peek()Metode mengembalikan sebuah objek dari atas tumpukan. Sebagai contoh,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Access element from the top String element = animals.peek(); System.out.println("Element at top: " + element); ) ) 

Keluaran

 Tumpukan: (Anjing, Kuda, Kucing) Elemen di atas: Kucing 

search () Metode

Untuk mencari elemen dalam tumpukan, kami menggunakan search()metode. Ini mengembalikan posisi elemen dari atas tumpukan. Sebagai contoh,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Search an element int position = animals.search("Horse"); System.out.println("Position of Horse: " + position); ) ) 

Keluaran

 Tumpukan: (Anjing, Kuda, Kucing) Posisi Kuda: 2 

kosong () Metode

Untuk memeriksa apakah tumpukan kosong atau tidak, kami menggunakan empty()metode ini. Sebagai contoh,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Check if stack is empty boolean result = animals.empty(); System.out.println("Is the stack empty? " + result); ) ) 

Keluaran

Tumpukan: (Anjing, Kuda, Kucing) Apakah tumpukannya kosong? Salah

Gunakan ArrayDeque, bukan Stack

The Stackkelas menyediakan implementasi langsung dari struktur data stack. Namun, disarankan untuk tidak menggunakannya. Sebagai gantinya, gunakan ArrayDequekelas (mengimplementasikan Dequeantarmuka) untuk mengimplementasikan struktur data tumpukan di Java.

Untuk mempelajari lebih lanjut, kunjungi:

  • Java ArrayDeque
  • Mengapa menggunakan Deque over Stack?

Artikel yang menarik...