Sobes.tech
Назад к вопросам
Junior — Middle
66

Какую коллекцию вы бы использовали для реализации структуры данных стек?

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

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-приложениях из-за лучшей производительности и отсутствия избыточной синхронизации.