Qu'est-ce que Stack Class en Java et comment l'utiliser?



La classe Stack en Java fait partie du framework Collection qui simplifie les opérations telles que push, pop, etc. Cet article se concentre sur la classe stack avec des exemples.

Les structures de données ont été une aubaine pour le monde de la programmation car elles simplifient la programmation dans une large mesure. La classe Stack en Java fait partie de qui simplifie diverses opérations comme push, pop, etc. Dans cet article, nous explorons ce concept en détail. Les pointeurs suivants seront explorés dans cet article:

convertir une chaîne en tableau php

Commençons.





Qu'est-ce qu'une classe de pile en Java?

Une pile est un Structure de données qui suit LIFO (Last In First Out). La classe Java Stack relève du framework de hiérarchie de collection de base dans lequel vous pouvez effectuer les opérations de base telles que push, pop, etc. Nous savons queLe framework de collecte Java comprend les interfaces et Des classes . Maintenant, voyons clairement comment la classe de pile en Java est organisée dans la hiérarchie du framework de collections Java.

Hiérarchie - Classe de pile en Java - Edureka



Dans la hiérarchie ci-dessus, la case bleue fait référence àles différentes interfaces et la boîte jaune définit la classe. Une pile en Java étend la classe vectorielle qui implémente davantage Interface de liste . Chaque fois que vous créez une pile, elle ne contient initialement aucun élément, c'est-à-dire que la pile est vide.

Voyons maintenant les différentes méthodes de Java Stack Class.

Méthodes de classe Stack en Java

En Java, il existe principalement 5 méthodes de Stack Class.Voici les méthodes qui sont à notre disposition lorsque nous utilisons la classe stack en Java.



Méthodes La description

vide()

Vérifie si la pile est vide

poussez()

Poussez un objet en haut de la pile

pop ()

Retirez l'objet de la pile

coup d'oeil ()

Regarde l'objet d'une pile sans le retirer

chercher()

Recherche l'élément dans la pile pour obtenir son index

Comprenons chacune de ces méthodes avec un exemple programmatique:

package Edureka import java.io. * import java.util. * public class StackMethods {// ajouter ou pousser un élément en haut de la pile static void push_method (Stack st, int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // Afficher l'élément en haut de la pile static void peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Recherche un élément dans la pile static void search_method (Stack st, int element) {Integer pos = ( Integer) st.search (element) if (pos == -1) System.out.println ('Element not found') else System.out.println ('Element is found at position' + pos)} // Supprime l'élément depuis le haut de la pile static void pop_method (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Pile restante:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Pile vide:' + 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) try {pop_method (st)} catch (EmptyStackException e) {System.out.println ('pile vide')}}}

Production:

Pile vide: []
pousser (4)
Pile actuelle: [4]
pousser (8)
Pile actuelle: [4, 8]
pousser (9)
Pile actuelle: [4, 8, 9]
Élément sur le dessus de la pile: 9
Élément introuvable
L'élément se trouve en position 3
pop = 9
Pile restante: [4, 8]
pop = 8
Pile restante: [4]
pop = 4
Pile restante: []
pop = pile vide

Explication: Au dessus , J'ai d'abord imprimé une pile vide et ajouté quelques éléments en utilisant la méthode Push. Une fois les éléments présents dans la pile, j'ai affiché les éléments en haut de la pile en utilisant la méthode Peek. Après cela, j'ai effectué une recherche à l'aide de la méthode Search et finalement supprimé les éléments de la classe Java Stack à l'aide de la méthode Pop.

En allant de l'avant avec Java Stack Class, examinons diverses opérations que vous pouvez effectuer lors de l'implémentation de la classe de pile en Java.

Opérations Java Stack:

Taille de la pile:

package Edureka import java.util.EmptyStackException import java.util.Stack classe publique StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Vérifie si la pile est vide System.out.println (' La pile Java est-elle vide? '+ stack.isEmpty ()) // Recherche la taille de la pile System.out. println ('Taille de la pile:' + stack.size ())}}

Production: La pile Java est-elle vide? faux
Taille de la pile: 3

Itérer les éléments d'une pile Java:

  • Itérer sur une pile en utilisant iterator ()
  • Itérer sur une pile en utilisant Java 8 forEach ()
  • Itérer sur une pile en utilisant listIterator () de haut en bas

Commençons par itérer les éléments en utilisant iterator ().

package Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack classe publique 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 (value)} }}

Production:

un
2
3

De même, vous pouvez effectuer l'itération par d'autres méthodes. Reportez-vous au code ci-dessous pour plus de compréhension:

package demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack classe publique JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Itérer une pile en utilisant la méthode forEach ():') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Itérer sur une pile en utilisant listIterator () de haut en bas:') while (ListIterator.hasPrevious () ) {Chaîne str = ListIterator.previous () System.out.println (str)}}}

Production: Itérez une pile en utilisant la méthode forEach ():
un
2
3
Itérer sur une pile en utilisant listIterator () de haut en bas:
3
2
un

Explication: Dans le code ci-dessus, vous pouvez voir l'itération en utilisant la méthode forEach (), puis inverser la même chose en utilisant listIterator () de haut en bas de la pile.

C'est la fin du blog «Stack Class in Java». J'espère que vous êtes clair avec le framework de collections Java, c'est la hiérarchie avec les exemples de codes de classe Java Stack. Lisez mon prochain blogsur où j'ai énuméré les 75 principales questions et réponses d'entrevue qui vous aideront à vous démarquer dans le processus d'entrevue.

Maintenant que vous avez compris les collections Java, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate & Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog «Stack class in Java» et nous vous répondrons dans les plus brefs délais.