Поскольку LinkedList
реализует Queue
, тогда как ArrayList
- нет.
Queue<Object> myQueue = new LinkedList<>(); // Works, LinkedList implements Queue
Queue<Object> myQueue = new ArrayList<>(); // Doesn't compile, ArrayList doesn't implement queue
Теперь, если вы захотите, вы можете написать новый класс, реализующий Queue и использующий ArrayList в качестве резервного контейнера, но я не вижу привлекательности, поскольку вы уже можете инициализировать LinkedList изArrayList.Возможно, производительность методов List
может быть некоторой (если вы ее тоже реализовали), но методы Queue
почти не будут работать.
Источники: Javadoc для Очередь , LinkedList и ArrayList