Stack Queue Deque PriorityQueue
2021-12-12 本文已影响0人
Phoebe_Liu
- Queue
Queue<String> q = new LinkedList<>();
q.offer()
q.poll()
q.peek() - Deque
Deque<String> deque = new LinkedList<>();
将元素添加到队尾或队首:addLast()/offerLast()/addFirst()/offerFirst();
从队首/队尾获取元素并删除:removeFirst()/pollFirst()/removeLast()/pollLast();
从队首/队尾获取元素但不删除:getFirst()/peekFirst()/getLast()/peekLast();
总是调用xxxFirst()/xxxLast()以便与Queue的方法区分开;
避免把null添加到队列。 - Stack
Deque<Character> stack = new LinkedList<>();
stack.offerLast()
stack.pollLast()
stack.peekLast() - Queue<String> q = new PriorityQueue<>();
Queue<String> q = new PriorityQueue<>((v1, v2) -> v1.val - v2.val);
q.poll()
q.offer()
q.peek()