栈和队列

声明方式

1
Stack<V> stack = new stack();

使用方式

1
2
3
4
5
push():入队
peek():返回队首元素
pop():返回队首元素并删除
size():返回队列长度
isEmpty():队列是否为空

队列

声明方式

1
Queue<V> queue = new LinkedList<>();

使用方法

1
2
3
4
5
offer():入队
peek():返回队首元素
poll():返回队首元素并删除
size():返回队列长度
isEmpty():队列是否为空

优先队列

通常用优先队列PriorityQueue实现大小顶堆。默认是小顶堆。

声明方式

1
2
3
4
5
// 小顶堆
PriorityQueue<Integer> minHeap = new PriorityQueue<>();

// 大顶堆
PriorityQueue<Integer> maxHeap = new PriorityQueue<>((o1, o2) -> o2 - o1);

使用方法

使用方法队列。

队列、堆只能获取队首或者堆顶的元素,不能获取其他位置的原始。