## Uses of Interface
java.util.Deque

Packages that use Deque
java.util: Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
java.util.concurrent: Utility classes commonly useful in concurrent programming.

### Uses of Deque in java.util

Classes in java.util that implement Deque
`class` `ArrayDeque<E>` Resizable-array implementation of the `Deque` interface.
`class` `LinkedList<E>` Doubly-linked list implementation of the `List` and `Deque` interfaces.

Methods in java.util with parameters of type Deque
`static <T> Queue<T>` Collections.`asLifoQueue(Deque<T> deque)` Returns a view of a `Deque` as a Last-in-first-out (Lifo) `Queue`.

### Uses of Deque in java.util.concurrent

Subinterfaces of Deque in java.util.concurrent
`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.

Classes in java.util.concurrent that implement Deque
`class` `ConcurrentLinkedDeque<E>` An unbounded concurrent deque based on linked nodes.
`class` `LinkedBlockingDeque<E>` An optionally-bounded blocking deque based on linked nodes.