Zásobník v Javě

Třída Stack (zásobník) je datová stuktura, která funguje na principu LIFO (Last In First Out). Jedná se o kolekci objektů, kdy poslední vložený objekt je vybírán jako první (a první vložený jako poslední).

Vytvoříme si zásobník obsahující čtyři objekty.

Stack<Integer> stack = new Stack<Integer>();
stack.push(5);
stack.push(7);
stack.push(2);
stack.push(7);

Jedná se o kolekci, takže je možné ji procházet.

for (Integer i : stack) {
	System.out.println(i);
}

Pro přidání objektu na konec zásobníku se používá metoda push(). Pro získání posledně přidaného objektu se používají metody peek() a pop().

peek()

System.out.println(stack.peek());
System.out.println(stack.peek());

Výsledek (pořád vrací poslení objekt)

7
7
7
7
7

pop()

System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());

Výsledek

7
2
7
5
Exception in thread "main" java.util.EmptyStackException

Čtvrté volání metody pop() vrátí poslední objekt (první přidaný) a zásobník je prázdný. Pokud zavoláme pop() ještě jednou (na prázdném zásobníku) dostaneme chybu EmptyStackException.

Napsat komentář