Одним из основных аргументов использования очереди над ArrayList является то, что Queue гарантирует поведение FIFO.
Но если я добавлю 10 элементов в ArrayList, а затем перейду по элементам, начиная с 0-го элемента, тогда я извлечу элементы в том же порядке, в каком они были добавлены. По сути, это гарантирует поведение FIFO.
Что такого особенного в Queue по сравнению с традиционным ArrayList?