Kelas Stack Java

Dalam tutorial ini, kita akan belajar mengenai kelas Java Stack dan kaedahnya dengan bantuan contoh.

Kerangka koleksi Java mempunyai kelas bernama Stackyang menyediakan fungsi struktur data tumpukan.

The Stackkelas memanjangkan Vectorkelas.

Pelaksanaan Stack

Dalam timbunan, elemen disimpan dan diakses dengan cara Last In First Out . Artinya, elemen ditambahkan ke bahagian atas timbunan dan dikeluarkan dari bahagian atas timbunan.

Membuat Tumpukan

Untuk membuat timbunan, kita mesti mengimport java.util.Stackpakej terlebih dahulu. Setelah kami mengimport pakej, berikut adalah bagaimana kita dapat membuat timbunan di Java.

 Stack stacks = new Stack(); 

Di sini, Typemenunjukkan jenis timbunan. Sebagai contoh,

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

Kaedah Tumpukan

Sejak Stackmelanjutkan Vectorkelas, ia mewarisi semua kaedah Vector. Untuk mengetahui Vectorkaedah yang berbeza , kunjungi Java Vector Class.

Selain kaedah ini, Stackkelas ini merangkumi 5 kaedah lagi yang membezakannya Vector.

tolak () Kaedah

Untuk menambahkan elemen ke bahagian atas timbunan, kami menggunakan push()kaedahnya. 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); ) ) 

Pengeluaran

 Tumpukan: (Anjing, Kuda, Kucing) 

pop () Kaedah

Untuk mengeluarkan elemen dari bahagian atas timbunan, kami menggunakan pop()kaedahnya. 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); ) ) 

Pengeluaran

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

mengintip () Kaedah

The peek()Cara mengembalikan objek dari bahagian atas tindanan. 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); ) ) 

Pengeluaran

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

cari () Kaedah

Untuk mencari elemen dalam timbunan, kami menggunakan search()kaedahnya. Ia mengembalikan kedudukan elemen dari bahagian atas timbunan. 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); ) ) 

Pengeluaran

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

kosong () Kaedah

Untuk memeriksa sama ada timbunan kosong atau tidak, kami menggunakan empty()kaedahnya. 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); ) ) 

Pengeluaran

Tumpukan: (Anjing, Kuda, Kucing) Adakah timbunannya kosong? salah

Gunakan ArrayDeque Bukan Stack

The Stackkelas menyediakan pelaksanaan langsung struktur data timbunan. Walau bagaimanapun, disyorkan untuk tidak menggunakannya. Sebaliknya, gunakan ArrayDequekelas (mengimplementasikan Dequeantara muka) untuk melaksanakan struktur data tumpukan di Java.

Untuk mengetahui lebih lanjut, lawati:

  • Java ArrayDeque
  • Mengapa menggunakan Deque over Stack?

Artikel menarik...