Como implementar uma pilha em Java usando Arrays

Como implementar uma pilha em Java usando um array

Anteriormente nós estudamos o funcionamento e aplicações das pilhas em estruturas de dados. Vamos ver agora como implementar uma estrutura de pilha na linguagem Java, usando um array como base.

Lembrando que também é possível implementar pilhas usando listas ligadas, assunto que abordaremos mais à frente em nosso curso de Estruturas de Dados.

Criando a Pilha

Primeiramente criaremos uma classe de nome Pilha para representar as pilhas no programa principal:

/*
Implementando operações com pilhas em Java
Criando a Classe Pilha
Implementamos as funções isEmpty, peek, push e pop
*/
public class Pilha {
   static final int MAX = 1000;
   int top;
   int a[] = new int[MAX]; // Define tamanho máximo da pilha   

   // Construtor
   Pilha() {
      top = -1;
   }

   // Métodos da pilha
   boolean isEmpty() {
     return (top < 0);
   }
   boolean push(int x) {
      if (top >= (MAX-1)) {
         System.out.println("Estouro de Pilha!");
         return false;
      }
      else {
         a[++top] = x;
         return true;
      }
   }
   int pop() {
      if (top < 0) {
         System.out.println("Pilha Vazia!");
         return 0;
      }
      else {
         int x = a[top--];
         return x;
      }
   }
   int peek() {
      if (top < 0) {
         System.out.println("Pilha Vazia!");
         return 0;
      }
      else {
         return a[top];
      }
   }
}

Usando a pilha

Para usar a nossa classe Pilha vamos instanciá-la no programa principal e realizar algumas operações push e pop para inserir e retirar itens na pilha:

// Código do main
import java.util.Scanner;
public class PilhaJava {

   public static void main(String args[]) {
      Scanner entrada = new Scanner(System.in);
      System.out.println("Entre com um número:");
      int valor = entrada.nextInt();

      Pilha novaPilha = new Pilha();

      novaPilha.push(valor);
      novaPilha.push(70);
      novaPilha.push(88);
      System.out.println("Item de valor " + novaPilha.pop() + " retirado da pilha");
      System.out.println("Item restante: " + novaPilha.peek());
      System.out.println("Item de valor " + novaPilha.pop() + " retirado da pilha");
      System.out.println("Item restante: " + novaPilha.peek()); 
   }
}

Resultado:

Implementar pilha em java com array

É isso aí! No próximo tutorial veremos como criar e utilizar pilhas em linguagem C.

Até lá!

 

Sobre Fábio dos Reis (1365 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

2 Comentários em Como implementar uma pilha em Java usando Arrays

  1. Guilherme // 08/12/2020 em 13:07 // Responder

    Olá Fábio, gostaria de tirar uma dúvida.
    Como vc faz para estudar tanto conteúdo, está atento a tantas novidades, uma vez que essas tendencias passam muito rapido, e o estudo e constante.
    E quando vc ministra as aulas, grande parte é de kbeça ou vc faz um reestudo para lembrar os conceitos ?

    • Olá Guilherme!
      Sua pergunta já contém a própria resposta: o estudo é constante.
      Basicamente, o que faço o dia todo é pesquisar e estudar, quando não estou trabalhando – e meu trabalho consiste em produzir conteúdo e ministrar cursos, o que significa treinar tudo o que estudei.
      Fazendo isso 12h por dia (às vezes mais) consigo me manter a par das tendências tecnológicas que, como você observou muito bem, passam muito rápido.
      Com relação às aulas, no geral o conteúdo que uso com mais frequência está “na ponta da língua”, como por exemplo tópicos de lógica de programação, bancos de dados, linguagens em geral, conceitos de eletrônica. Já conceitos que não uso com muita frequência acabo tendo de revisar mesmo, não tem jeito, lembrar de tudo é impossível!

Escreva um comentário

Seu e-mail não será divulgado


*