Какво представлява класът на стека в Java и как да го използвам?



Класът на стека в Java е част от Framework, която опростява операции като push, pop и т.н. Тази статия се фокусира върху класа на стека с примери.

Структурите на данни са благодат за света на програмирането, тъй като опростяват до голяма степен програмирането. Класът на стека в Java е част от което опростява различни операции като натискане, изскачане и т.н. В тази статия разглеждаме тази концепция в детайли. Следните указания ще бъдат разгледани в тази статия:

Да започваме.





Какво е клас на стека в Java?

Стекът е a структура на данни който следва LIFO (Last In First Out). Java Stack Class попада под основната рамка за йерархия на колекции, в която можете да извършвате основните операции като натискане, изскачане и т.н. Ние знаем, чеРамката за събиране на Java включва интерфейси и класове . Сега, нека да имаме ясен поглед върху това как е подреден класът на стека в Java в йерархията на рамки на Java колекции.

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



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

Продължавайки напред, нека видим различните методи на Java Stack Class.

Методи за клас на стека в Java

В Java има основно 5 метода на Stack Class.Следват методите, които са на наше разположение, когато използваме класа на стека в Java.



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

празен ()

Проверява дали стекът е празен

натиснете ()

Поставете елемент в горната част на стека

поп ()

Премахнете обекта от стека

надниквам ()

Разглежда обекта на стека, без да го премахва

Търсене()

Търси елемент в стека, за да получи индекса му

Нека разберем всеки от тези методи с програмен пример:

пакет Edureka импортиране на java.io. * импортиране на java.util. * публичен клас StackMethods {// добавяне или изтласкване на елемента в горната част на стека static void push_method (Stack st, int n) {st.push (ново цяло число (n) ) System.out.println ('push (' + n + ')') System.out.println ('Текущ стек:' + st)} // Показва елемент в горната част на стека статична празнота peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer елемент = (Integer) st.peek () System.out.println ('Елемент в горната част на стека:' + елемент)} // Търси елемент в статичния void search_method (стек st, int елемент) {Integer pos = ( Цяло число) st.search (елемент) if (pos == -1) System.out.println ('Елементът не е намерен') else System.out.println ('Елементът е намерен на позиция' + pos)} // Премахва елемент от върха на статичния празен 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) опитайте {pop_method (st)} catch (EmptyStackException e) {System.out.println ('празен стек')}}}

Изход:

Празен стек: []
тласък (4)
Текущ стек: [4]
натиснете (8)
Текущ стек: [4, 8]
тласък (9)
Текущ стек: [4, 8, 9]
Елемент в горната част на стека: 9
Елементът не е намерен
Елементът се намира на позиция 3
поп = 9
Оставащ стек: [4, 8]
поп = 8
Оставащ стек: [4]
поп = 4
Оставащ стек: []
pop = празен стек

java в силата на

Обяснение: В горното , Първо отпечатах празен стек и добавих няколко елемента, използвайки метода Push. След като елементите присъстват в стека, показах елементите в горната част на стека, използвайки метода Peek. След това извърших търсене с помощта на метода за търсене и накрая премахнах елементите в класа на Java Stack, използвайки метода Pop.

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

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

Размер на стека:

пакет Edureka импортиране на java.util.EmptyStackException импортиране на java.util.Stack публичен клас StackOperations {публична статична void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Проверете дали стекът е празен System.out.println (' Празен ли е стекът Java? + stack.isEmpty ()) // Намерете размера на Stack System.out. println ('Размер на стека:' + stack.size ())}}

Изход: Java стекът празен ли е? невярно
Размер на стека: 3

Итериращи елементи на Java стека:

  • Итерация над стека с помощта на итератор ()
  • Итерация над стека с помощта на Java 8 forEach ()
  • Итерация над стека с помощта на listIterator () от горе до долу

Нека започнем да итерираме елементи, като използваме iterator ().

пакет Edureka импортиране java.util.EmptyStackException импортиране java.util.Iterator импортиране java.util.Stack публичен клас StackOperations {публична статична невалидна основна (String [] аргументи) {Stack stack = new Stack () stack.push ('1') stack.push ('2') stack.push ('3') Итератор итератор = stack.iterator () while (iterator.hasNext ()) {Стойност на обекта = iterator.next () System.out.println (стойност)} }}

Изход:

един
2
3

По същия начин можете да извършите итерацията по други методи. Вижте кода по-долу за повече разбиране:

пакет демонстрация импортиране java.util.EmptyStackException импортиране java.util.Iterator импортиране java.util.ListIterator импортиране java.util.Stack публичен клас JavaOperators {публичен статичен void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Итерирайте стека, използвайки forEach () Метод:') stack.forEach (n -> {Система. 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 Collections, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари в този блог „Клас на стека в Java“ и ние ще се свържем с вас възможно най-скоро.