Обобщенный интерфейс Queue<E> расширяет базовый интерфейс Collection и определяет поведение класса в качестве однонаправленной очереди.
Queue - это стандартная модель очереди, которая действует по принципу FIFO (first in - first out). То есть чем раньше был добавлен элемент в коллекцию, тем раньше он из нее удаляется.
Бывают и двунаправленные очереди - то есть такие, в которых мы можем добавить элемент не только в начала, но и в конец. И соответственно удалить элемент не только из конца, но и из начала.
Методы:
E element()
возвращает, но не удаляет, элемент из начала очереди. Если очередь пуста, генерирует исключение NoSuchElementException
boolean offer(E obj)
добавляет элемент obj в конец очереди. Если элемент удачно добавлен, возвращает true, иначе - false
E peek()
возвращает без удаления элемент из начала очереди. Если очередь пуста, возвращает значение null
E poll()
возвращает с удалением элемент из начала очереди. Если очередь пуста, возвращает значение null
E remove()
возвращает с удалением элемент из начала очереди. Если очередь пуста, генерирует исключение NoSuchElementException