Deque<Integer> arrayQueue = new ArrayDeque<>();
Deque<Integer> linkedListQueue = new LinkedList<>();
// these operations are useful and same on both.
arrayQueue.push()/addFirst()/addLast();
arrayQueue.remove()/removeFirst()/removeLast()/pop();
arrayQueue.peek()/peekFirst()/peekLast()/size()/
// Array implementation of Deque
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList implementation of Deque
Deque<String> animal2 = new LinkedList<>();