Uma Stack (pilha) Ă© uma estrutura de dados linear que segue o princĂpio LIFO â Last In, First Out (Ășltimo a entrar, primeiro a sair).
đ Pense em uma pilha de objetos: o item colocado por Ășltimo Ă© sempre o primeiro a ser retirado.
Uma pilha suporta quatro operaçÔes fundamentais:
A seguir, um exemplo simples controlando a entrada e saĂda de elementos em uma pilha:
import java.util.Stack;
public class ExemploStack {
public static void main(String[] args) {
Stack<String> pilha = new Stack<>();
// Adicionando elementos (push)
pilha.push("Documento A");
pilha.push("Documento B");
pilha.push("Documento C");
// Consultando o topo (peek)
System.out.println("Topo: " + pilha.peek()); // Documento C
// Removendo elementos (pop)
System.out.println("Removido: " + pilha.pop()); // Documento C
System.out.println("Novo topo: " + pilha.peek()); // Documento B
pilha.pop(); // remove Documento B
System.out.println("Topo atual: " + pilha.peek()); // Documento A
// Verificar se estĂĄ vazia
System.out.println("EstĂĄ vazia? " + pilha.isEmpty());
}
}
| Ação | Estado da Pilha | Topo |
|---|---|---|
push("A") |
A | A |
push("B") |
A â B | B |
push("C") |
A â B â C | C |
pop() |
A â B | B |
pop() |
A | A |
Stacks são usadas em diversas åreas da computação: