Gymterview
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.