Проще всего представить стек это представить себе стопку тетрадей. Обычно учитель работает с ней так: смотрит на верхнюю тетрадь, проверяет ее, если добавляет элемент – тетрадь - в стопку, то наверх, а не в середину.
Таким образом, первая сданная тетрадь (самого шустрого ученика) будет проверена последней, а последняя сданная – первой.
Рассмотрим базовый класс Stack и методы работы с ним.
Чтобы создать стек целых чисел воспользуемся методом:
Stack<Integer> stack = new Stack<>();
Добавить элемент в стек с помощью метода stack.push();:
stack.push(123); // добавит в стек число 123
stack.push(452); // добавит в стек число 452(будет верхним элементов стека)
Проверить есть ли что то в стеке можно методом:
stack.isEmpty(); // если в стеке ничего нет то вернет true, если стек заполнен вернет false
Чтобы посмотреть последний элемент стека, т.е. доступный элемент есть метод stack.peek();
она возвращает элемент, но не удаляет его из стека. Следующий код:
stack.push(123);
stack.push(452);
System.out.println(stack.peek()); // вернет число 452
Следующай команда stack.pop(); возвращает последний элемент стека и удалят его. Рассмотрим следующий код:
stack.push(123);
stack.push(452);
System.out.println(stack.pop()); // вернет число 452 и удалит его
System.out.println(stack); // вывести стек
Если мы выведем весь стек после метода stack.pop(), то увидим что в стеке осталось только число 123.
Выше мы рассмотрели основные методы работы со стеком. Ниже я приведу код работающей программы.
import java.util.Stack;
public class OneStack {
public static void main(String[] args){
Stack<Integer> stack = new Stack<>(); // создаем стек целых чисел
stack.push(10); // добавить элемент в стек
stack.push(120);
stack.push(130);
stack.push(140);
System.out.println(stack); //выведем в консоль весь стек
System.out.println(stack.isEmpty()); // пустой ли стек? если
// да - true нет - false
System.out.println(stack.peek()); //выведем последний элемент стека
System.out.println(stack.pop()); //выведем последний элемент
// стека и удалим его
System.out.println(stack); //выведем в консоль весь стек и
// убедимся что элемент 140 отстутсвует
}
}
Результат выполнения программы:
[10, 120, 130, 140]
false
140
140
[10, 120, 130]
Комментариев нет:
Отправить комментарий