Τι είναι το Stack Class στην Java και πώς να το χρησιμοποιήσετε;

Η κλάση στοίβας στην Java είναι μέρος του πλαισίου Συλλογής που απλοποιεί τις λειτουργίες όπως push, pop κ.λπ. Αυτό το άρθρο επικεντρώνεται στην κατηγορία stack με παραδείγματα.

Οι δομές δεδομένων υπήρξαν όφελος για τον κόσμο του προγραμματισμού καθώς απλοποιούν τον προγραμματισμό σε μεγάλο βαθμό. Η τάξη στοίβας στην Java είναι μέρος του που απλοποιεί διάφορες λειτουργίες όπως push, pop κ.λπ. Σε αυτό το άρθρο διερευνούμε αυτήν την ιδέα λεπτομερώς. Οι ακόλουθοι δείκτες θα διερευνηθούν σε αυτό το άρθρο:



Ας αρχίσουμε.



Τι είναι το Stack Class στην Java;

Μια στοίβα είναι α δομή δεδομένων που ακολουθεί το LIFO (Last In First Out). Το Java Stack Class εμπίπτει στο βασικό πλαίσιο ιεραρχίας συλλογής στο οποίο μπορείτε να εκτελέσετε τις βασικές λειτουργίες όπως push, pop κ.λπ.Το πλαίσιο συλλογής Java περιλαμβάνει διεπαφές και τάξεις . Τώρα, ας έχουμε μια σαφή εικόνα για το πώς τακτοποιείται η κλάση στοίβας στην Ιεραρχία πλαισίου συλλογών Java.

Ιεραρχία - Τάξη στοίβας στην Ιάβα - Edureka



Στην παραπάνω ιεραρχία αναφέρεται το μπλε κουτίοι διαφορετικές διεπαφές και το κίτρινο πλαίσιο καθορίζει την κλάση. Μια στοίβα στην Java επεκτείνει την κλάση διανύσματος που εφαρμόζει περαιτέρω Διεπαφή λίστας . Κάθε φορά που δημιουργείτε μια στοίβα, αρχικά δεν περιέχει κανένα στοιχείο, δηλαδή η στοίβα είναι κενή.

Προχωρώντας, ας δούμε τις διαφορετικές μεθόδους της Java Stack Class.

Μέθοδοι κατηγορίας στοίβας στην Java

Στην Java, υπάρχουν κυρίως 5 μέθοδοι Stack Class.Ακολουθούν οι μέθοδοι που έχουμε στη διάθεσή μας όταν χρησιμοποιούμε την κλάση stack στο Java.



Μέθοδοι Περιγραφή

αδειάζω()

ταξινόμηση σε c ++
Ελέγχει εάν η στοίβα είναι άδεια

Σπρώξτε()

Σπρώξτε ένα στοιχείο στην κορυφή της στοίβας

ποπ ()

Αφαιρέστε το αντικείμενο από τη στοίβα

κρυφοκοίταγμα()

Κοιτάζει το αντικείμενο μιας στοίβας χωρίς να το αφαιρέσετε

Αναζήτηση()

Αναζητά το στοιχείο στη στοίβα για να πάρει το ευρετήριό του

Ας κατανοήσουμε καθεμία από αυτές τις μεθόδους με ένα προγραμματικό παράδειγμα:

πακέτο Edureka import java.io. * import java.util. * δημόσια κλάση StackMethods {// προσθήκη ή ώθηση στοιχείου στο πάνω μέρος της στοίβας στατική κενή push_method (Stack st, int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // Στοιχείο εμφάνισης στην κορυφή της στοίβας στατικού κενού peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Στοιχείο αναζήτησης στη στοίβα στατικό κενό κενό_ μέθοδος (Stack st, int element) {Integer pos = ( Integer) st.search (element) if (pos == -1) System.out.println ('Element not found') other System.out.println ('Το στοιχείο βρίσκεται στη θέση' + pos)} // Αφαιρεί το στοιχείο από την κορυφή της στοίβας στατικό void pop_method (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Υπόλοιπο στοίβα:' + st)} δημόσιος στατικός κενός κενός (String args []) {Stack st = new Stack () Sys tem.out.println ('Empty stack:' + 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) δοκιμάστε {pop_method (st)} catch (EmptyStackException e) {System.out.println ('blank stack')}}}

Παραγωγή:

Κενή στοίβα: []
ώθηση (4)
Τρέχουσα στοίβα: [4]
ώθηση (8)
Τρέχουσα στοίβα: [4, 8]
ώθηση (9)
Τρέχουσα στοίβα: [4, 8, 9]
Στοιχείο στην κορυφή στοίβας: 9
Το στοιχείο δεν βρέθηκε
Το στοιχείο βρίσκεται στη θέση 3
ποπ = 9
Υπολειπόμενη στοίβα: [4, 8]
ποπ = 8
Υπολειπόμενη στοίβα: [4]
ποπ = 4
Υπολειπόμενη στοίβα: []
pop = κενή στοίβα

Εξήγηση: Στα παραπάνω Έχω εκτυπώσει πρώτα μια κενή στοίβα και πρόσθεσα μερικά στοιχεία χρησιμοποιώντας τη μέθοδο Push. Μόλις τα στοιχεία υπάρχουν στη στοίβα, έχω εμφανίσει τα στοιχεία στο πάνω μέρος της στοίβας χρησιμοποιώντας τη μέθοδο Peek. Μετά από αυτό, έχω πραγματοποιήσει αναζήτηση χρησιμοποιώντας τη μέθοδο αναζήτησης και τελικά κατάργησα τα στοιχεία στην κλάση Java Stack χρησιμοποιώντας τη μέθοδο Pop.

Προχωρώντας με την Java Stack Class, ας ρίξουμε μια ματιά σε διάφορες λειτουργίες που μπορείτε να εκτελέσετε κατά την εφαρμογή της τάξης στοίβας στην Java.

java addactionlistener (αυτό)

Λειτουργίες Java Stack:

Μέγεθος της στοίβας:

πακέτο Edureka import java.util.EmptyStackException import java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Ελέγξτε αν η στοίβα είναι άδεια System.out.println (' Είναι η Java Stack άδεια; '+ stack.isEmpty ()) // Βρείτε το μέγεθος του Stack System.out. println ('Μέγεθος στοίβας:' + stack.size ())}}

Παραγωγή: Είναι το Java Stack κενό; ψευδής
Μέγεθος στοίβας: 3

Επαναληπτικά στοιχεία μιας στοίβας Java:

  • Επανάληψη μέσω Stack χρησιμοποιώντας επαναληπτικό ()
  • Επανάληψη μέσω Stack χρησιμοποιώντας Java 8 forEach ()
  • Επανάληψη μέσω Stack χρησιμοποιώντας το listIterator () από Top to Bottom

Ας αρχίσουμε να επαναλαμβάνουμε στοιχεία χρησιμοποιώντας το iterator ().

πακέτο Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2') stack.push ('3') Iterator iterator = stack.iterator () while (iterator.hasNext ()) {Object value = iterator.next () System.out.println (τιμή)} }}

Παραγωγή:

ένας
2
3

Ομοίως, μπορείτε να εκτελέσετε την επανάληψη με άλλες μεθόδους. Ανατρέξτε στον παρακάτω κώδικα για περισσότερη κατανόηση:

πακέτο demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack public class JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Iterate a stack using forEach () Method:') stack.forEach (n -> {Σύστημα. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Iterate over a Stack using listIterator () from Top to Bottom:') ενώ (ListIterator.hasPre sebelumnya () ) {String str = ListIterator.pre sebelumnya () System.out.println (str)}}}

Παραγωγή: Επαναλάβετε μια στοίβα χρησιμοποιώντας τη μέθοδο forEach ():
ένας
2
3
Επανάληψη μέσω Stack χρησιμοποιώντας listIterator () από Top to Bottom:
3
2
ένας

Εξήγηση: Στον παραπάνω κώδικα, μπορείτε να δείτε την επανάληψη χρησιμοποιώντας τη μέθοδο ForEach () και στη συνέχεια να αντιστρέψετε το ίδιο χρησιμοποιώντας το listIterator () από πάνω προς τα κάτω της στοίβας.

Αυτό είναι το τέλος του ιστολογίου 'Stack Class in Java'. Ελπίζω να είστε ξεκάθαροι με το πλαίσιο συλλογών Java, είναι η ιεραρχία μαζί με τους παραδείγματα κωδικών τάξης Java Stack. Διαβάστε το επόμενο blog μουεπί όπου έχω απαριθμήσει τις κορυφαίες 75 ερωτήσεις και απαντήσεις συνέντευξης που θα σας βοηθήσουν να ξεχωρίσετε στη διαδικασία συνέντευξης.

Τώρα που έχετε κατανοήσει τις Συλλογές Java, δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα εκπαίδευσης και πιστοποίησης Java J2EE και SOA της Edureka έχει σχεδιαστεί για φοιτητές και επαγγελματίες που θέλουν να γίνουν προγραμματιστές Java. Το μάθημα έχει σχεδιαστεί για να σας δώσει μια πρώτη αρχή στον προγραμματισμό Java και να σας εκπαιδεύσει τόσο για τις βασικές όσο και για τις προηγμένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

c ++ ταξινόμηση αριθμών σε αύξουσα σειρά

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του ιστολογίου 'Stack class in Java' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.