# Uses of Interface
java.util.Queue

Packages that use Queue
Package
Description
java.util
Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.
java.util.concurrent
Utility classes commonly useful in concurrent programming.

- ## Uses of Queue in java.util

  Subinterfaces of Queue in java.util
  Modifier and Type
  Interface
  Description
  `interface`
  `Deque<E>`
  A linear collection that supports element insertion and removal at both ends.
  Classes in java.util that implement Queue
  Modifier and Type
  Class
  Description
  `class`
  `AbstractQueue<E>`
  This class provides skeletal implementations of some `Queue` operations.
  `class`
  `ArrayDeque<E>`
  Resizable-array implementation of the `Deque` interface.
  `class`
  `LinkedList<E>`
  Doubly-linked list implementation of the `List` and `Deque` interfaces.
  `class`
  `PriorityQueue<E>`
  An unbounded priority queue based on a priority heap.
  Methods in java.util that return Queue
  Modifier and Type
  Method
  Description
  `static <T> Queue<T>`
  Collections.`asLifoQueue(Deque<T> deque)`
  Returns a view of a `Deque` as a Last-in-first-out (Lifo) `Queue`.
  `static <E> Queue<E>`
  Collections.`checkedQueue(Queue<E> queue, Class<E> type)`
  Returns a dynamically typesafe view of the specified queue.
  Methods in java.util with parameters of type Queue
  Modifier and Type
  Method
  Description
  `static <E> Queue<E>`
  Collections.`checkedQueue(Queue<E> queue, Class<E> type)`
  Returns a dynamically typesafe view of the specified queue.

- ## Uses of Queue in java.util.concurrent

  Subinterfaces of Queue in java.util.concurrent
  Modifier and Type
  Interface
  Description
  `interface`
  `BlockingDeque<E>`
  A `Deque` that additionally supports blocking operations that wait for the deque to become non-empty when retrieving an element, and wait for space to become available in the deque when storing an element.
  `interface`
  `BlockingQueue<E>`
  A `Queue` that additionally supports operations that wait for the queue to become non-empty when retrieving an element, and wait for space to become available in the queue when storing an element.
  `interface`
  `TransferQueue<E>`
  A `BlockingQueue` in which producers may wait for consumers to receive elements.
  Classes in java.util.concurrent that implement Queue
  Modifier and Type
  Class
  Description
  `class`
  `ArrayBlockingQueue<E>`
  A bounded blocking queue backed by an array.
  `class`
  `ConcurrentLinkedDeque<E>`
  An unbounded concurrent deque based on linked nodes.
  `class`
  `ConcurrentLinkedQueue<E>`
  An unbounded thread-safe queue based on linked nodes.
  `class`
  `DelayQueue<E extends Delayed>`
  An unbounded blocking queue of `Delayed` elements, in which an element generally becomes eligible for removal when its delay has expired.
  `class`
  `LinkedBlockingDeque<E>`
  An optionally-bounded blocking deque based on linked nodes.
  `class`
  `LinkedBlockingQueue<E>`
  An optionally-bounded blocking queue based on linked nodes.
  `class`
  `LinkedTransferQueue<E>`
  An unbounded `TransferQueue` based on linked nodes.
  `class`
  `PriorityBlockingQueue<E>`
  An unbounded blocking queue that uses the same ordering rules as class `PriorityQueue` and supplies blocking retrieval operations.
  `class`
  `SynchronousQueue<E>`
  A blocking queue in which each insert operation must wait for a corresponding remove operation by another thread, and vice versa.