En este tutorial, aprenderemos sobre la clase Java Stack y sus métodos con la ayuda de ejemplos.

El marco de colecciones de Java tiene una clase denominada
Stack
que proporciona la funcionalidad de la estructura de datos de la pila.
La
Stack
clase extiende la Vector
clase.
Implementación de pila
En la pila, los elementos se almacenan y se accede a ellos de manera Última entrada, Primera salida . Es decir, los elementos se agregan a la parte superior de la pila y se eliminan de la parte superior de la pila.

Crear una pila
Para crear una pila,
java.util.Stack
primero debemos importar el paquete. Una vez que importamos el paquete, así es como podemos crear una pila en Java.
Stack<Type> stacks = new Stack<>();
Aquí,
Type
indica el tipo de pila. Por ejemplo,
// Create Integer type stack
Stack<Integer> stacks = new Stack<>();
// Create String type stack
Stack<String> stacks = new Stack<>();
Métodos de pila
Como
Stack
extiende la Vector
clase, hereda todos los métodos Vector
. Para conocer los diferentes Vector
métodos, visite Java Vector Class .
Además de estos métodos, la
Stack
clase incluye 5 métodos más que lo distinguen Vector
.Método push ()
Para agregar un elemento a la parte superior de la pila, utilizamos el
push()
método. Por ejemplo,
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> animals= new Stack<>();
// Add elements to Stack
animals.push("Dog");
animals.push("Horse");
animals.push("Cat");
System.out.println("Stack: " + animals);
}
}
Salida
Pila: [Perro, Caballo, Gato]
Método pop ()
Para eliminar un elemento de la parte superior de la pila, utilizamos el
pop()
método Por ejemplo,
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> 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);
}
}
Salida
Pila inicial: [perro, caballo, gato] Elemento eliminado: Gato
Método peek ()
El
peek()
método devuelve un objeto desde la parte superior de la pila. Por ejemplo,
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> 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);
}
}
Salida
Pila: [Perro, Caballo, Gato] Elemento en la parte superior: gato
Método search ()
Para buscar un elemento en la pila, utilizamos el
search()
método Devuelve la posición del elemento desde la parte superior de la pila. Por ejemplo,
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> 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);
}
}
Salida
Pila: [Perro, Caballo, Gato] Posición del caballo: 2
Método empty ()
Para verificar si una pila está vacía o no, utilizamos el
empty()
método. Por ejemplo,
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> 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);
}
}
Salida
Pila: [Perro, Caballo, Gato] ¿Está vacía la pila? falso
Use ArrayDeque en lugar de Stack
La
Stack
clase proporciona la implementación directa de la estructura de datos de la pila. Sin embargo, se recomienda no usarlo. En su lugar, use la ArrayDeque
clase (implementa la Deque
interfaz) para implementar la estructura de datos de la pila en Java.
Para obtener más información, visite:
- Java ArrayDeque
- ¿Por qué usar Deque sobre pila?
0 Comentarios
Dejanos tu comentario para seguir mejorando!