public void test1(){
// 堆
PriorityQueue<Integer> pq = new PriorityQueue<>((o1, o2) -> {
return o1 - o2;//小根堆
});
PriorityQueue<Integer> pq2 = new PriorityQueue<>((o1, o2) -> {
return o2 - o1;//大根堆
});
// 队列 双端队列 的创建 主要在于前面的接口 Queue还是Deque
Queue<Integer> queueSingle = new ArrayDeque<>();
Deque<Integer> queueDouble = new ArrayDeque<>();
queueSingle.add(1);
queueDouble.add(2);
queueSingle.offer(3);
queueDouble.offerFirst(2);
// 链表
List<Integer> linkedlist = new LinkedList<>();
// 栈
Stack<Integer> stack = new Stack<>();
// A more complete and consistent set of LIFO stack operations is provided by the Deque interface and its implementations, which should be used in preference to this class. For example:
// Deque<Integer> stack = new ArrayDeque<Integer>();
// Since: JDK1.0
// Author: Jonathan Payne
// stack的源码中 推荐使用双端队列 来代替栈
Deque<Integer> s = new ArrayDeque<>();
s.addLast(1);// 代替 push
s.pollLast();// 代替 pop
Integer last = s.peekLast();// 代替 peek
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92878.html