Что такое класс стека в Java и как его использовать?



Класс стека в Java является частью инфраструктуры Collection, которая упрощает такие операции, как push, pop и т. Д. В этой статье основное внимание уделяется классу стека с примерами.

Структуры данных были благом для мира программирования, поскольку они в значительной степени упрощают программирование. Класс Stack в Java является частью это упрощает различные операции, такие как push, pop и т. д. В этой статье мы подробно исследуем эту концепцию. В этой статье будут рассмотрены следующие указатели:

Давайте начнем.





Что такое класс стека в Java?

Стек - это структура данных который следует за LIFO (Last In First Out). Класс Java Stack подпадает под базовую структуру иерархии коллекций, в которой вы можете выполнять основные операции, такие как push, pop и т. Д. Мы знаем, чтоФреймворк Java collection включает интерфейсы и классы . Теперь давайте рассмотрим, как класс стека в Java организован в иерархии структуры коллекций Java.

Иерархия - Класс стека в Java - Edureka



В приведенной выше иерархии синий прямоугольник относится кразличные интерфейсы и желтая рамка определяют класс. Стек в Java расширяет векторный класс, который дополнительно реализует Интерфейс списка . Всякий раз, когда вы создаете стек, изначально он не содержит никаких элементов, то есть стек пуст.

Забегая вперед, давайте посмотрим на различные методы класса Java Stack.

Методы класса стека в Java

В Java есть в основном 5 методов класса Stack.Ниже приведены методы, которые доступны в нашем распоряжении при использовании класса стека в Java.



Методы Описание

пустой ()

как перевернуть строку в Python
Проверяет, пуста ли стопка

От себя()

Поместите элемент в верхнюю часть стопки

поп ()

Удалить объект из стека

заглянуть ()

Смотрит на объект стека, не удаляя его

поиск()

Ищет элемент в стеке, чтобы получить его индекс

Давайте разберемся с каждым из этих методов на программном примере:

package Edureka import java.io. * import java.util. * public class StackMethods {// добавляем или вставляем элемент в верхнюю часть стека static void push_method (Stack st, int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // Отображение элемента наверху стека static void peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Ищет элемент в стеке static void search_method (Stack st, int element) {Integer pos = ( Integer) st.search (element) if (pos == -1) System.out.println ('Element not found') else System.out.println ('Element is found at position' + pos)} // Удаляет элемент из вершины стека static void pop_method (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Остающийся стек:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Пустой стек:' + st) push_method (st, 4) push_method (st, 8) push_method (st, 9) peek_method (st) search_method (st, 2) search_method (st, 4) pop_method ( st) pop_method (st) pop_method (st) try {pop_method (st)} catch (EmptyStackException e) {System.out.println ('пустой стек')}}}

Вывод:

Пустая стопка: []
толкать (4)
Текущий стек: [4]
толкать (8)
Текущий стек: [4, 8]
толкать (9)
Текущий стек: [4, 8, 9]
Элементов наверху стопки: 9
Элемент не найден
Элемент находится в позиции 3
pop = 9
Оставшийся стек: [4, 8]
pop = 8
Остающийся стек: [4]
pop = 4
Оставшийся стек: []
pop = пустой стек

Пояснение: В приведенном выше , Я сначала распечатал пустой стек и добавил несколько элементов с помощью метода Push. После того, как элементы присутствуют в стеке, я отобразил элементы в верхней части стека с помощью метода Peek. После этого я выполнил поиск с помощью метода Search и, наконец, удалил элементы в классе Java Stack с помощью метода Pop.

Продвигаясь вперед с Java Stack Class, давайте рассмотрим различные операции, которые вы можете выполнять при реализации класса стека в Java.

ssis учебник для начинающих 2012 с примерами

Операции со стеком Java:

Размер стопки:

package Edureka import java.util.EmptyStackException import java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Проверяем, пуст ли стек System.out.println (' Является ли стек Java пустым? '+ stack.isEmpty ()) // Найдите размер стека System.out. println ('Размер стека:' + stack.size ())}}

Вывод: Стек Java пуст? ложный
Размер стопки: 3

Итерировать элементы стека Java:

  • Итерировать по стеку с помощью iterator ()
  • Итерация по стеку с использованием Java 8 forEach ()
  • Итерировать по стеку с помощью listIterator () сверху вниз

Давайте начнем перебирать элементы с помощью iterator ().

пакет Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2') stack.push ('3') Iterator iterator = stack.iterator () while (iterator.hasNext ()) {Значение объекта = iterator.next () System.out.println (value)} }}

Вывод:

один
2
3

Аналогичным образом можно выполнить итерацию другими методами. Обратитесь к приведенному ниже коду для большего понимания:

демонстрация пакета import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack публичный класс JavaOperators {публичный статический void main (String [] args) {стек стека = новый стек () стек. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Итерировать стек, используя метод forEach ():') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Итерация по стеку с помощью listIterator () сверху вниз:') while (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Вывод: Итерировать стек, используя метод forEach ():
один
2
3
Итерации по стеку с помощью listIterator () сверху вниз:
3
2
один

Пояснение: В приведенном выше коде вы можете увидеть итерацию с использованием метода forEach (), а затем отменить то же самое с помощью listIterator () сверху вниз по стеку.

Это конец блога «Класс стека в Java». Я надеюсь, что вы, ребята, хорошо разбираетесь в структуре коллекций Java, это иерархия вместе с примерами кода класса Java Stack. Прочтите мой следующий блогна Я перечислил 75 основных вопросов и ответов на собеседование, которые помогут вам выделиться в процессе собеседования.

Теперь, когда вы разобрались с коллекциями Java, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

изменение числа в Java

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога «Класс стека в Java», и мы свяжемся с вами в ближайшее время.