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.


⚙ Como funciona uma Stack?

Uma pilha suporta quatro operaçÔes fundamentais:


đŸ§Ș Exemplo prĂĄtico usando Stack em Java

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


🔍 Evolução da Pilha

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

🎯 AplicaçÔes comuns da Stack

Stacks são usadas em diversas åreas da computação: