Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Classe de pilha Java

Classe de pilha Java


Neste tutorial, aprenderemos sobre a classe Java Stack e seus métodos com a ajuda de exemplos.

A estrutura de coleções Java tem uma classe chamada Stack que fornece a funcionalidade da estrutura de dados da pilha.

O Stack classe estende o Vector classe.



Implementação de pilha


Na pilha, os elementos são armazenados e acessados ​​em Último a entrar, primeiro a sair maneiras. Ou seja, os elementos são adicionados ao topo da pilha e removidos do topo da pilha.



Criando uma pilha


Para criar uma pilha, devemos importar o java.util.Stack pacote primeiro. Uma vez que importamos o pacote, aqui está como podemos criar uma pilha em Java.
Stack<Type> stacks = new Stack<>();

Aqui, Type indica o tipo da pilha. Por exemplo,
// Create Integer type stack
Stack<Integer> stacks = new Stack<>();

// Create String type stack
Stack<String> stacks = new Stack<>();

Métodos de pilha


Desde Stack estende o Vector classe, ele herda todos os métodos Vector . Para saber mais sobre diferentes Vector métodos, visite Java Vector Class.

Além desses métodos, o Stack class inclui mais 5 métodos que a distinguem de Vector .

Método push()


Para adicionar um elemento ao topo da pilha, usamos o push() método. Por exemplo,
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);
    }
}

Saída
Stack: [Dog, Horse, Cat]

Método pop()




Para remover um elemento do topo da pilha, usamos o pop() método. Por exemplo,
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);
    }
}

Saída
Initial Stack: [Dog, Horse, Cat]
Removed Element: Cat

Método peek()


O peek() O método retorna um objeto do topo da pilha. Por exemplo,
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);

    }
}

Saída
Stack: [Dog, Horse, Cat]
Element at top: Cat


Para pesquisar um elemento na pilha, usamos o search() método. Ele retorna a posição do elemento do topo da pilha. Por exemplo,
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);
    }
}

Saída
Stack: [Dog, Horse, Cat]
Position of Horse: 2

Método vazio()


Para verificar se uma pilha está vazia ou não, usamos o empty() método. Por exemplo,
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);
    }
}

Saída
Stack: [Dog, Horse, Cat]
Is the stack empty? false

Usar ArrayDeque em vez de pilha


O Stack A classe fornece a implementação direta da estrutura de dados da pilha. No entanto, é recomendável não usá-lo. Em vez disso, use o ArrayDeque classe (implementa o Deque interface) para implementar a estrutura de dados da pilha em Java.

Para saber mais, acesse:

Java

  1. Palavra-chave final Java
  2. Java instanceof Operator
  3. Herança Java
  4. Classe estática aninhada em Java
  5. Classe anônima Java
  6. Classe Java Singleton
  7. Reflexão Java
  8. Classe Java ObjectOutputStream
  9. Genéricos Java
  10. Classe de arquivo Java