deque和queue ArrayDeque模拟栈,使用push()和pop() ArrayDeque模拟队列,使用offer()和poll()

public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable

public interface Deque<E> extends Queue<E>
public interface Queue<E> extends Collection<E>

ArrayDeque模拟栈,使用push()和pop()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
//ArrayDeque模拟栈
Deque<String> stack = new ArrayDeque<String>();
stack.push("aaa");
stack.push("bbb");
stack.push("ccc");
//访问,不pop出元素
System.out.println(stack.peek());
System.out.println(stack);

//pop出元素
System.out.println(stack.pop());
System.out.println(stack);
}

ArrayDeque模拟队列,使用offer()和poll()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void main(String[] args) {
//模拟Queue队列
Deque<String> queue = new ArrayDeque<String>();
//依次将3个元素加入队列
queue.offer("aaa");
queue.offer("bbb");
queue.offer("ccc");
System.out.println(queue);
//访问,不poll元素
System.out.println(queue.peek());
System.out.println(queue);

//poll元素
System.out.println(queue.poll());
System.out.println(queue);
}