Урок Java коллекция - Stack

L2CCCP

Работник недели xD
Партнер
Сообщения
459
Розыгрыши
0
Реакции
915
Баллы
836
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<Integer> stack = new Stack<Integer>();

        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);
    }
}
Сам никогда не использовал так как не было необходимости, но может кому будет интересно :-)
 
Сверху Снизу