Какой паттерн реализует коллекция стек

«Какой паттерн реализует коллекция стек» — вопрос из категории Паттерны, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Коллекция стек реализует паттерн LIFO (Last In, First Out) — последний пришел, первый ушел. Это означает, что элемент, добавленный последним, будет извлечен первым.

В Android/Kotlin стек можно реализовать через Stack<T> (устаревший) или ArrayDeque<T> (рекомендуется):

val stack = ArrayDeque<Int>()
stack.addLast(1)  // push
stack.addLast(2)
val top = stack.removeLast()  // pop, вернет 2

Ключевые методы:

  • push() / addLast() — добавление элемента.
  • pop() / removeLast() — извлечение верхнего элемента.
  • peek() / last() — просмотр верхнего элемента без удаления.

Используется в навигации (BackStack), отмене действий и т.д.