Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Класс стека Java

Класс Java Stack

В этом руководстве мы узнаем о классе Java Stack и его методах с помощью примеров.

Платформа коллекций Java имеет класс с именем Stack. который обеспечивает функциональность структуры данных стека.

Stack класс расширяет Vector класс.

<час>

Реализация стека

В стеке элементы хранятся и доступны в порядке последний пришел – первый ушел. способ. То есть элементы добавляются на вершину стека и удаляются с вершины стека.

<час>

Создание стека

Чтобы создать стек, мы должны импортировать java.util.Stack пакет первый. После импорта пакета мы можем создать стек в Java следующим образом.

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

Здесь Type указывает тип стека. Например,

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

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

Методы стека

С Stack расширяет Vector класс, он наследует все методы Vector . Чтобы узнать о различных Vector методы, посетите Java Vector Class.

Помимо этих методов, Stack класс включает еще 5 методов, которые отличают его от Vector .

<час>

Метод push()

Чтобы добавить элемент на вершину стека, мы используем push() метод. Например,

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

Вывод

Stack: [Dog, Horse, Cat]
<час>

Метод pop()

Чтобы удалить элемент из вершины стека, мы используем pop() метод. Например,

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

Вывод

Initial Stack: [Dog, Horse, Cat]
Removed Element: Cat
<час>

метод peek()

peek() Метод возвращает объект с вершины стека. Например,

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

    }
}

Вывод

Stack: [Dog, Horse, Cat]
Element at top: Cat
<час>

Для поиска элемента в стеке мы используем search() метод. Он возвращает позицию элемента с вершины стека. Например,

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

Вывод

Stack: [Dog, Horse, Cat]
Position of Horse: 2
<час>

метод пустой()

Чтобы проверить, пуст стек или нет, мы используем empty() метод. Например,

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

Вывод

Stack: [Dog, Horse, Cat]
Is the stack empty? false
<час>

Использовать ArrayDeque вместо стека

Stack класс обеспечивает прямую реализацию структуры данных стека. Тем не менее, рекомендуется не использовать его. Вместо этого используйте ArrayDeque класс (реализует Deque интерфейс) для реализации структуры данных стека в Java.

Чтобы узнать больше, посетите:


java

  1. Окончательное ключевое слово Java
  2. Оператор экземпляра Java
  3. Наследование Java
  4. Вложенный статический класс Java
  5. Анонимный класс Java
  6. Одноэлементный класс Java
  7. Java-отражение
  8. Класс Java ObjectOutputStream
  9. Дженерики Java
  10. Класс файла Java