Apa itu Stack Class di Java dan bagaimana menggunakannya?



Stack class di Java adalah bahagian dari kerangka Koleksi yang memudahkan operasi seperti push, pop, dll. Artikel ini memfokuskan pada kelas stack dengan contoh.

Struktur Data telah memberi kelebihan kepada dunia pengaturcaraan kerana mereka menyederhanakan pengaturcaraan dengan banyak. Kelas tumpukan di Jawa adalah sebahagian daripada yang mempermudahkan pelbagai operasi seperti push, pop, dll. Dalam artikel ini kita menerangkan konsep ini secara terperinci. Petunjuk berikut akan diterokai dalam artikel ini:

Mari kita mulakan.





Apa itu Kelas Stack di Jawa?

Tumpukan ialah struktur data yang mengikuti LIFO (Last In First Out). Java Stack Class termasuk dalam Kerangka Hierarki Koleksi asas di mana anda boleh melakukan operasi asas seperti push, pop, dll. Kami tahu bahawaKerangka pengumpulan Java merangkumi antara muka dan kelas . Sekarang, mari kita lihat dengan jelas bagaimana kelas stack di Java disusun dalam hierarki kerangka koleksi Java.

Hierarki - Kelas Tumpukan di Jawa - Edureka



Dalam hierarki di atas, kotak biru merujuk kepadaantara muka yang berbeza dan kotak kuning mentakrifkan kelas. Tumpukan di Java meluaskan kelas vektor yang seterusnya dilaksanakan Antara muka senarai . Setiap kali anda membuat Stack, pada mulanya ia tidak mengandungi item apa pun, iaitu Stack kosong.

Melangkah ke depan, mari kita lihat pelbagai kaedah Java Stack Class.

Kaedah Kelas Tumpukan di Jawa

Di Jawa, terdapat terutamanya 5 kaedah Stack Class.Berikut adalah kaedah yang ada ketika kita menggunakan kelas stack di Java.



Kaedah Penerangan

kosong ()

Periksa sama ada timbunan kosong

tolak ()

Masukkan item ke bahagian atas timbunan

pop ()

Keluarkan objek dari timbunan

mengintip ()

Memerhatikan objek timbunan tanpa mengeluarkannya

cari ()

Mencari item dalam timbunan untuk mendapatkan indeksnya

Mari kita fahami setiap kaedah ini dengan contoh program:

pakej Edureka import java.io. * import java.util. * kelas awam StackMethods {// tambah atau tolak elemen di bahagian atas tumpukan statik kekosongan push_m metode (Stack st, int n) {st.push (Integer baru (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // Elemen paparan di bahagian atas stack static void peek_method (Stack & ampampampltInteger & ampampampgt st) { Unsur integer = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Searches element in the stack static void search_mode (Stack st, int element) {Integer pos = ( Integer) st.search (element) if (pos == -1) System.out.println ('Element not found') other System.out.println ('Elemen dijumpai pada kedudukan' + pos)} // Mengeluarkan elemen dari bahagian atas tumpukan stat_ void pop_m metode (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Stack yang tersisa:' + st)} utama kekosongan statik awam (String args []) {Stack st = new Stack () Sys tem.out.println ('Stack kosong:' + st) push_method (st, 4) push_method (st, 8) push_method (st, 9) peek_method (st) search_method (st, 2) search_method (st, 4) pop_method ( st) pop_method (st) pop_method (st) cuba {pop_method (st)} tangkap (EmptyStackException e) {System.out.println ('blank stack')}}}

Pengeluaran:

Tumpukan kosong: []
tolak (4)
Tumpukan Semasa: [4]
tolak (8)
Tumpukan Semasa: [4, 8]
tolak (9)
Tumpukan Semasa: [4, 8, 9]
Elemen di bahagian atas timbunan: 9
Elemen tidak dijumpai
Elemen dijumpai pada kedudukan 3
pop = 9
Baki timbunan: [4, 8]
pop = 8
Baki timbunan: [4]
pop = 4
Baki timbunan: []
pop = timbunan kosong

Penjelasan: Di atas , Saya pertama kali mencetak timbunan kosong dan menambahkan beberapa elemen menggunakan kaedah Push. Setelah elemen terdapat di dalam timbunan, saya telah memaparkan elemen di bahagian atas timbunan menggunakan kaedah Peek. Selepas itu, saya telah melakukan pencarian menggunakan kaedah Search dan akhirnya membuang elemen di kelas Java Stack menggunakan kaedah Pop.

Melangkah maju dengan Java Stack Class, mari kita lihat pelbagai operasi yang dapat anda lakukan semasa melaksanakan kelas stack di Java.

Operasi Stack Java:

Saiz timbunan:

pakej Edureka import java.util.EmptyStackException import java.util.Stack kelas awam StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Periksa sama ada Stack kosong System.out.println (' Adakah Stack Java kosong? '+ stack.isEmpty ()) // Cari ukuran Stack System.out. println ('Size of Stack:' + stack.size ())}}

Pengeluaran: Adakah Java Stack kosong? salah
Saiz Tumpukan: 3

Elemen Pengulangan Tumpukan Java:

  • Berulang pada Stack menggunakan iterator ()
  • Ulangi melalui Stack menggunakan Java 8 forEach ()
  • Ulangi melalui Stack menggunakan listIterator () dari Atas ke Bawah

Mari mulakan lelaran elemen dengan menggunakan iterator ().

pakej Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack kelas awam StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2') stack.push ('3') Iterator iterator = stack.iterator () manakala (iterator.hasNext ()) {Objek nilai = iterator.next () System.out.println (nilai)} }}

Pengeluaran:

satu
2
3

Begitu juga, anda boleh melakukan lelaran dengan kaedah lain. Rujuk kod di bawah untuk lebih memahami:

pakej demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack kelas awam JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. tolak ('1') stack.push ('2') stack.push ('3') System.out.println ('Iterate stack menggunakan forEach () Method:') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Iterate over a Stack using listIterator () dari Atas ke Bawah:') sementara (ListIterator.hasPre sebelumnya () ) {String str = ListIterator.pre sebelumnya () System.out.println (str)}}}

Pengeluaran: Ulangi timbunan menggunakan kaedah forEach ():
satu
2
3
Ulangi melalui Stack menggunakan listIterator () dari Atas ke Bawah:
3
2
satu

Penjelasan: Dalam kod di atas, anda dapat melihat lelaran menggunakan Kaedah forEach () dan kemudian membalikkan yang sama menggunakan listIterator () dari atas ke bawah timbunan.

Ini adalah akhir dari blog 'Stack Class in Java'. Saya harap kalian jelas dengan kerangka koleksi Java, ini adalah hierarki bersama dengan kod contoh kelas Java Stack. Baca blog saya seterusnyapada di mana saya telah menyenaraikan 75 soalan dan jawapan wawancara teratas yang akan membantu anda dalam proses temu ramah.

apa contoh kelas di java

Sekarang setelah anda memahami Koleksi Java, lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog “Stack class in Java” ini dan kami akan menghubungi anda secepat mungkin.