ArraydDeque API
import java.util.ArrayDeque;
import java.util.Arrays;
public class ArrayDequeDemo {
public static void main(String[] args) {
ArrayDeque<Integer> queue = new ArrayDeque<>();
queue.add(1);
queue.add(2);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
queue.offer(3);
queue.offerLast(4);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
queue.addLast(5);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
queue.push(6);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
queue.addFirst(7);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
Integer poll = queue.poll();
System.out.println(poll);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
Integer pop = queue.pop();
System.out.println(pop);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
Integer peek = queue.peek();
System.out.println(peek);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
Integer peekFirst = queue.peekFirst();
System.out.println(peekFirst);
Integer peekLast = queue.peekLast();
System.out.println(peekLast);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
Integer remove = queue.remove();
System.out.println(remove);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
queue.add(10);
boolean existRemove = queue.remove(10);
System.out.println(existRemove);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
boolean notExistRemove = queue.remove(11);
System.out.println(notExistRemove);
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
queue.clear();
System.out.println(Arrays.toString(queue.toArray(new Integer[]{})));
}
}