Назад к вопросам
IT One
Junior — Middle
66
Какую коллекцию вы бы использовали для реализации структуры данных стек?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для реализации структуры данных стек в Java обычно используют класс Deque (например, ArrayDeque), так как он предоставляет эффективные операции добавления и удаления элементов с конца.
Ранее часто использовали класс Stack, но он унаследован от Vector и синхронизирован, что может снижать производительность.
Пример использования ArrayDeque как стека:
import java.util.ArrayDeque;
import java.util.Deque;
Deque<Integer> stack = new ArrayDeque<>();
// Добавление элемента (push)
stack.push(10);
stack.push(20);
// Извлечение элемента (pop)
int top = stack.pop(); // 20
// Просмотр верхнего элемента (peek)
int peek = stack.peek(); // 10
Таким образом, ArrayDeque — предпочтительный выбор для стека в современных Java-приложениях из-за лучшей производительности и отсутствия избыточной синхронизации.