Структурите на данни са благодат за света на програмирането, тъй като опростяват до голяма степен програмирането. Класът на стека в Java е част от което опростява различни операции като натискане, изскачане и т.н. В тази статия разглеждаме тази концепция в детайли. Следните указания ще бъдат разгледани в тази статия:
Да започваме.
Какво е клас на стека в Java?
Стекът е a структура на данни който следва LIFO (Last In First Out). Java Stack Class попада под основната рамка за йерархия на колекции, в която можете да извършвате основните операции като натискане, изскачане и т.н. Ние знаем, чеРамката за събиране на Java включва интерфейси и класове . Сега, нека да имаме ясен поглед върху това как е подреден класът на стека в Java в йерархията на рамки на Java колекции.
В горната йерархия синьото поле се отнася доразличните интерфейси и жълтото поле определят класа. Стекът в 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“ и ние ще се свържем с вас възможно най-скоро.