Dalam tutorial ini, kita akan belajar mengenai kelas Java Stack dan kaedahnya dengan bantuan contoh.
Kerangka koleksi Java mempunyai kelas bernama Stack
yang menyediakan fungsi struktur data tumpukan.
The Stack
kelas memanjangkan Vector
kelas.
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.Stack
pakej terlebih dahulu. Setelah kami mengimport pakej, berikut adalah bagaimana kita dapat membuat timbunan di Java.
Stack stacks = new Stack();
Di sini, Type
menunjukkan jenis timbunan. Sebagai contoh,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Kaedah Tumpukan
Sejak Stack
melanjutkan Vector
kelas, ia mewarisi semua kaedah Vector
. Untuk mengetahui Vector
kaedah yang berbeza , kunjungi Java Vector Class.
Selain kaedah ini, Stack
kelas 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 Stack
kelas menyediakan pelaksanaan langsung struktur data timbunan. Walau bagaimanapun, disyorkan untuk tidak menggunakannya. Sebaliknya, gunakan ArrayDeque
kelas (mengimplementasikan Deque
antara muka) untuk melaksanakan struktur data tumpukan di Java.
Untuk mengetahui lebih lanjut, lawati:
- Java ArrayDeque
- Mengapa menggunakan Deque over Stack?