1. 栈的使用
- 举例:
Deque<Integer> stack = new LinkedList<Integer>(); stack.push(1); stack.push(3); stack.push(2); System.out.println(stack.size()); // 3 System.out.println(stack.isEmpty()); // false stack.pop(); System.out.println(stack.peek()); // 3
- 总结:
- 构造方法:
Deque<Integer> stack = new LinkedList<Integer>();
- 成员方法:
push
:向栈顶加入元素pop
:获取并删除栈顶元素peek
:获取但不删除栈顶元素
- 构造方法:
2. 队列的使用
- 举例:
Queue<Integer> queue = new LinkedList<Integer>(); queue.offer(1); queue.offer(3); queue.offer(2); System.out.println(queue.size()); // 3 System.out.println(queue.isEmpty()); // false System.out.println(queue.peek()); // 1 queue.poll(); System.out.println(queue.peek()); // 3 ```
- 总结:
- 构造方法:
Queue<Integer> queue = new LinkedList<Integer>();
- 成员方法:
offer
:向队尾插入元素poll
:获取并删除队头元素peek
:获取但不删除队头元素
- 构造方法:
3. 双向队列的使用
- 构造方法:
Deque<Integer> stack = new LinkedList<Integer>();
- 成员方法:可以使用上述的所有成员方法,因此我们可以只用双端队列当作队列或者栈来使用
- 和队列对应的方法
offer
-offerLast
poll
-pollFirst
peek
-peekFirst
- 和栈对应的方法
push
-offerFirst
pop
-pollFirst
peek
-peekFirst
- 和队列对应的方法