Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Kelas Java Stack – Panduan Lengkap Penggunaan dan Metode

Kelas Java Stack

Tutorial ini menjelaskan kelas Stack Java, metodenya yang inti, dan contoh praktis untuk membantu Anda menguasai operasi stack.

Framework koleksi Java mencakup kelas Stack yang mengimplementasikan struktur data stack klasik. Menurut dokumentasi resmi Java, Stack memperluas Vector, mewarisi semua metodenya sambil menambahkan operasi spesifik stack.

Kelas Java Stack – Panduan Lengkap Penggunaan dan Metode


Implementasi Stack

Stack mengikuti prinsip Last In, First Out (LIFO): elemen dipush ke atas dan di-pop dari atas. Diagram berikut menggambarkan perilaku ini.

Kelas Java Stack – Panduan Lengkap Penggunaan dan Metode


Membuat Stack

Untuk membuat stack, impor java.util.Stack dan buat instance dengan tipe generik yang diinginkan:

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

Contoh:

// Integer stack Stack<Integer> intStack = new Stack<>(); // String stack Stack<String> stringStack = new Stack<>(); 

Metode Stack

Selain metode Vector yang diwarisi, Stack menyediakan lima operasi khusus yang membedakannya dari koleksi generik. Untuk daftar lengkap metode Vector, lihat dokumentasi kelas Vector.


Metode push()

Metode push() menambahkan elemen ke atas stack.

import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); } } 

Output

Stack: [Dog, Horse, Cat]

Metode pop()

Metode pop() menghapus dan mengembalikan elemen di atas stack.

import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Initial Stack: " + animals); String removed = animals.pop(); System.out.println("Removed Element: " + removed); } } 

Output

Initial Stack: [Dog, Horse, Cat] Removed Element: Cat

Metode peek()

Metode peek() mengambil elemen teratas tanpa menghapusnya.

import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); String top = animals.peek(); System.out.println("Element at top: " + top); } } 

Output

Stack: [Dog, Horse, Cat] Element at top: Cat

Metode search() mengembalikan posisi 1-basis dari elemen dari atas stack, atau -1 jika tidak ada.

import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); int pos = animals.search("Horse"); System.out.println("Position of Horse: " + pos); } } 

Output

Stack: [Dog, Horse, Cat] Position of Horse: 2

Metode empty()

Metode empty() memeriksa apakah stack memiliki elemen.

import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); boolean isEmpty = animals.empty(); System.out.println("Is the stack empty? " + isEmpty); } } 

Output

Stack: [Dog, Horse, Cat] Is the stack empty? false

Gunakan ArrayDeque Sebagai Ganti Stack

Meskipun Stack mengimplementasikan stack, ia dianggap sebagai kode lama. Kode Java modern lebih menyukai ArrayDeque (mengimplementasikan antarmuka Deque) untuk fungsionalitas stack karena menawarkan performa yang lebih baik dan semantik yang lebih jelas. Untuk lebih banyak detail, lihat:


java

  1. Memahami Kata Kunci final Java: Variabel, Metode, dan Kelas
  2. Operator instanceof Java: Panduan Lengkap
  3. Menguasai Warisan Java: Konsep, Jenis, dan Contoh Praktis
  4. Memahami Kelas Bersarang Statis Java: Penggunaan, Perbedaan, dan Contoh
  5. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  6. Pola Singleton Java Dijelaskan: Cara Menerapkan dan Menggunakannya dengan Aman
  7. Menguasai Refleksi Java: Memeriksa Kelas, Metode, dan Field pada Waktu Eksekusi
  8. Menguasai Java ObjectOutputStream: Serialisasi, Metode, dan Contoh Praktis
  9. Menguasai Java Generics – Membangun Kode yang Dapat Digunakan Kembali dan Aman Tipe
  10. Pengoperasian File Java dengan java.io – Pembuatan, Pembacaan, Penulisan & Penghapusan