Τάξη Java Stack

Σε αυτό το σεμινάριο, θα μάθουμε για την τάξη Java Stack και τις μεθόδους της με τη βοήθεια παραδειγμάτων.

Το πλαίσιο συλλογών Java έχει μια κλάση που ονομάζεται Stackπου παρέχει τη λειτουργικότητα της δομής δεδομένων στοίβας.

Η Stackτάξη επεκτείνει την Vectorτάξη.

Εφαρμογή στοίβας

Στη στοίβα, τα στοιχεία αποθηκεύονται και προσπελάζονται με τρόπο Last In First Out . Δηλαδή, στοιχεία προστίθενται στην κορυφή της στοίβας και αφαιρούνται από την κορυφή της στοίβας.

Δημιουργία στοίβας

Για να δημιουργήσουμε μια στοίβα, πρέπει java.util.Stackπρώτα να εισαγάγουμε το πακέτο. Μόλις εισαγάγουμε το πακέτο, εδώ είναι πώς μπορούμε να δημιουργήσουμε μια στοίβα στην Java.

 Stack stacks = new Stack(); 

Εδώ, Typeυποδεικνύει τον τύπο της στοίβας. Για παράδειγμα,

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

Μέθοδοι στοίβας

Εφόσον Stackεπεκτείνει την Vectorτάξη, κληρονομεί όλες τις μεθόδους Vector. Για να μάθετε για διάφορες Vectorμεθόδους, επισκεφθείτε την Java Vector Class.

Εκτός από αυτές τις μεθόδους, η Stackτάξη περιλαμβάνει 5 ακόμη μεθόδους που την ξεχωρίζουν Vector.

push () Μέθοδος

Για να προσθέσουμε ένα στοιχείο στην κορυφή της στοίβας, χρησιμοποιούμε τη push()μέθοδο. Για παράδειγμα,

 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); ) ) 

Παραγωγή

 Στοίβα: (Σκύλος, Άλογο, Γάτα) 

pop () Μέθοδος

Για να αφαιρέσουμε ένα στοιχείο από την κορυφή της στοίβας, χρησιμοποιούμε τη pop()μέθοδο. Για παράδειγμα,

 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); ) ) 

Παραγωγή

 Αρχική στοίβα: (Σκύλος, άλογο, γάτα) Στοιχείο που αφαιρέθηκε: Γάτα 

peek () Μέθοδος

Η peek()μέθοδος επιστρέφει ένα αντικείμενο από την κορυφή της στοίβας. Για παράδειγμα,

 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); ) ) 

Παραγωγή

 Στοίβα: (Σκύλος, Άλογο, Γάτα) Στοιχείο στην κορυφή: Γάτα 

αναζήτηση () Μέθοδος

Για αναζήτηση ενός στοιχείου στη στοίβα, χρησιμοποιούμε τη search()μέθοδο. Επιστρέφει τη θέση του στοιχείου από την κορυφή της στοίβας. Για παράδειγμα,

 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); ) ) 

Παραγωγή

 Στοίβα: (Σκύλος, Άλογο, Γάτα) Θέση του αλόγου: 2 

κενό () Μέθοδος

Για να ελέγξουμε εάν μια στοίβα είναι κενή ή όχι, χρησιμοποιούμε τη empty()μέθοδο. Για παράδειγμα,

 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); ) ) 

Παραγωγή

Στοίβα: (Σκύλος, Άλογο, Γάτα) Είναι η στοίβα άδεια; ψευδής

Χρησιμοποιήστε το ArrayDeque αντί για στοίβα

Η Stackτάξη παρέχει την άμεση εφαρμογή της δομής δεδομένων στοίβας. Ωστόσο, συνιστάται να μην το χρησιμοποιείτε. Αντ 'αυτού, χρησιμοποιήστε την ArrayDequeκλάση (εφαρμόζει τη Dequeδιεπαφή) για να εφαρμόσετε τη δομή δεδομένων στοίβας σε Java.

Για να μάθετε περισσότερα, επισκεφθείτε:

  • Java ArrayDeque
  • Γιατί να χρησιμοποιήσετε το Deque over Stack;

ενδιαφέροντα άρθρα...