Quem nunca precisou implementar uma pilha? Principalmente no mundo acadêmico? Todo programador que se preze já implementou uma pilha, seja ela em C, C++, Pascal, etc. O pacote java.util fornece uma classe pronta para manipular esta estrutura de dados.
Precisaremos trabalhar com algumas funções:
- push() – Insere um elemento na pilha
- pop() – Remove um elemento da pilha
- empty() – Verifica se a pilha está vazia
DevCast: Quem quer ser um Programador Fullstack?
A função push() recebe como parâmetro um Object, portanto para armazenar primitivos será necessário armazenar uma classe Wrapper (Integer, Double, Float etc). Vamos ao exemplo:
Stack pilha = new Stack(); // Classe Pilha
// Ver artigo geração de numeros randômicos
Random random = new Random();
//Alimenta a pilha com números inteiros
for (int i=0;i<10;i++){
// Insere na pilha números aleatórios de 0 a 100
System.out.println("Inserindo na pilha: " + pilha.push(random.nextInt(100)));
}
// Retira da pilha
for (int i=0;i<10;i++){
System.out.println("Retirando da pilha: " + pilha.pop());
}
}
Veja a saída:
Inserindo na pilha: 44
Inserindo na pilha: 78
Inserindo na pilha: 53
Inserindo na pilha: 31
Inserindo na pilha: 52
Inserindo na pilha: 86
Inserindo na pilha: 96
Inserindo na pilha: 16
Inserindo na pilha: 23
Inserindo na pilha: 95
Retirando da pilha: 95
Retirando da pilha: 23
Retirando da pilha: 16
Retirando da pilha: 96
Retirando da pilha: 86
Retirando da pilha: 52
Retirando da pilha: 31
Retirando da pilha: 53
Retirando da pilha: 78
Retirando da pilha: 44
Mas nem sempre é possível saber qual o tamanho de sua pilha. Caso fosse feita uma retirada indevida (a pilha estivesse vazia) seria gerada uma EmptyStackException. Para evitar esta exceção utilizaremos o método empty() que retorna um boleano indicando se a pilha está vazia ou não:
while(!pilha.empty())
System.out.println("Retirando da pilha: " + pilha.pop());
Links Úteis
- Como publicar seu app iOS na App Store:
Neste curso você aprenderá a publicar seu aplicativo iOS na App Store, disponibilizando-o para que seus usuários possam fazer download e instalá-lo em seus dispositivos.
- Navegação entre telas no Android:
Aprenda neste conteúdo como é feita a navegação entre activities (telas) no Android usando Java. Veremos como efetuar a navegação com e sem passagem de parâmetros.
- Um bate-papo sobre o Delphi:
O Delphi está em constante evolução e com ele podemos criar aplicações desktop, servidores de aplicações, aplicativos móveis, entre outros.
Saiba mais sobre Programação ;)
- Como ser um Programador PHP:
Neste guia de estudos você encontra os conteúdos que precisará para se tornar um programador PHP completo.
- Como ser um Programador Delphi:
Neste guia de estudos você encontra os conteúdos que precisará para se tornar um programador Delphi completo.
- Como ser um Programador Java:
Nesse Guia de Referência você encontrará o conteúdo que precisa para iniciar seus estudos sobre a tecnologia Java, base para o desenvolvimento de aplicações desktop, web e mobile/embarcadas.