junior
Какая коллекция реализует дисциплину обслуживания FIFO
FIFO (First-In-First-Out, «первым пришел — первым ушел») реализует интерфейс Queue и его реализации. Элемент, добавленный первым, извлекается первым — как очередь людей в магазине.
Основные реализации FIFO-очередей:
LinkedList— реализует интерфейсQueue, можно использовать как очередь черезoffer()/poll().ArrayDeque— более эффективная реализация на основе кольцевого массива, рекомендуется вместо LinkedList.PriorityQueue— нарушает строгий FIFO, т.к. элементы извлекаются по приоритету (natural ordering или Comparator).
Из concurrent-коллекций: LinkedBlockingQueue, ArrayBlockingQueue, ConcurrentLinkedQueue.
На собеседовании: назовите Queue как интерфейс и ArrayDeque как рекомендуемую реализацию. Уточните, что PriorityQueue формально Queue, но не строгий FIFO.