PDA

Просмотр полной версии : Java коллекция - Stack


L2CCCP
19.07.2015, 05:16
Stack - это расширение коллекции java.util.Vector с реализацией дисциплины обслуживания last-in-first-out или как называют в народе LIFO что обозначает "последним пришёл — первым ушёл". Не рекомендуется использовать, за исключением необходимости потокобезопасности, так как все операции с данными в наследнике java.util.Vector являются синхронизированными, за исключением метода push(E item)в самом Stack.

Немного кода с примером использования

Код:



package ru.mmo.develop;

import java.util.Stack;

/**
* @author L2CCCP
* @site http://l2cccp.com/
*/
public class TestStack
{
private final static int[] numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

public static void main(String... args)
{
Stack stack = new Stack();

for(final int num : numbers)
stack.push(num); // Запись элементов в стек

final int last = stack.peek(); // Считывание элемента из стека без удаления
show("На первой\\верхней позиции: " + last);

final int search = 1;
final int position = stack.search(search); // Поиск элемента в стеке для получения позиции
show("Позиция числа " + search + ": " + position);

while(!stack.isEmpty())
show(stack.pop()); // Извлечение доступного\верхнего элемента с удалением
}

private final static void show(final Object str)
{
System.out.println(str);
}
}


Сам никогда не использовал так как не было необходимости, но может кому будет интересно