Theextends the <code>{{java.util.|Queue</code>}} interface.{{sfn|Goetz|Peierls|Bloch|Bowbeer|2006|loc=§5.3.3 isDeques expandedand bywork thestealing|p=92}} <code>{{java.util.|Deque</code> subinterface. <code>Deque</code>}} creates a double-ended queue. While a regular <code>{{java|Queue</code>}} only allows insertions at the rear and removals at the front, the <code>{{java|Deque</code>}} allows insertions or removals to take place both at the front and the back. A <code>{{java|Deque</code>}} is like a <code>{{java|Queue</code>}} that can be used forwards or backwards, or both at once. Additionally, both a forwards and a backwards iterator can be generated. The <code>{{java|Deque</code>}} interface is implemented by <code>java.util.ArrayDeque</code> and <code>java.util.LinkedList</code>.<ref>{{cite web|url=http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html |title=Deque (Java Platform SE 7 ) |publisher=Docs.oracle.com |date=2013-06-06 |access-date=2013-08-16}}</ref>