Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Clase de pila de Java

Clase de pila de Java

En este tutorial, aprenderemos sobre la clase Java Stack y sus métodos con la ayuda de ejemplos.

El marco de colecciones de Java tiene una clase llamada Stack que proporciona la funcionalidad de la estructura de datos de la pila.

El Stack la clase extiende el Vector clase.


Implementación de pila

En la pila, los elementos se almacenan y se accede a ellos en Último en entrar, primero en salir manera. Es decir, los elementos se agregan a la parte superior de la pila y se eliminan de la parte superior de la pila.


Crear una pila

Para crear una pila, debemos importar el java.util.Stack paquete primero. Una vez que importamos el paquete, así es como podemos crear una pila en Java.

Stack<Type> stacks = new Stack<>();

Aquí, Type indica el tipo de pila. Por ejemplo,

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

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

Métodos de pila

Desde Stack extiende el Vector clase, hereda todos los métodos Vector . Para aprender sobre diferentes Vector métodos, visite Java Vector Class.

Además de estos métodos, el Stack class incluye 5 métodos más que la distinguen de Vector .


Método empujar()

Para agregar un elemento a la parte superior de la pila, usamos el push() método. Por ejemplo,

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

Salida

Stack: [Dog, Horse, Cat]

método pop()

Para eliminar un elemento de la parte superior de la pila, usamos el pop() método. Por ejemplo,

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

Salida

Initial Stack: [Dog, Horse, Cat]
Removed Element: Cat

método peek()

El peek() El método devuelve un objeto desde la parte superior de la pila. Por ejemplo,

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

    }
}

Salida

Stack: [Dog, Horse, Cat]
Element at top: Cat

Método de búsqueda()

Para buscar un elemento en la pila, usamos el search() método. Devuelve la posición del elemento desde la parte superior de la pila. Por ejemplo,

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

Salida

Stack: [Dog, Horse, Cat]
Position of Horse: 2

método vacío()

Para verificar si una pila está vacía o no, usamos el empty() método. Por ejemplo,

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

Salida

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

Usar ArrayDeque en lugar de Stack

El Stack La clase proporciona la implementación directa de la estructura de datos de la pila. Sin embargo, se recomienda no usarlo. En su lugar, utilice el ArrayDeque class (implementa el Deque interfaz) para implementar la estructura de datos de la pila en Java.

Para obtener más información, visite:


Java

  1. Palabra clave final de Java
  2. Operador de instancia de Java
  3. Herencia de Java
  4. Clase estática anidada de Java
  5. Clase anónima de Java
  6. Clase única de Java
  7. Reflexión Java
  8. Clase Java ArrayList
  9. Clase Java ObjectOutputStream
  10. Genéricos de Java
  11. Clase de archivo Java