数据结构
120steps
这个作者很懒,什么都没留下…
展开
-
【数据结构】PriorityQueue的用法和底层实现原理
先讲使用,再讲原理 队列是遵循先进先出(First-In-First-Out)模式的,但有时需要在队列中基于优先级处理对象。 举两个例子: 作业系统中的调度程序,当一个作业完成后,需要在所有等待调度的作业中选择一个优先级最高的作业来执行,并且也可以添加一个新的作业到作业的优先队列中。 每日交易时段生成股票报告的应用程序中,需要处理大量数据并且花费很多处理时间。客户向这个应用程序发送请求时,实际上就进入了队列。我们需要首先处理优先客户再处理普通用户。在这种情况下,Java的PriorityQueue(优先队转载 2020-12-30 16:43:08 · 496 阅读 · 0 评论 -
【数据结构】双队列Deque与LinkedBlockingDeque深入分析
一、双向队列Deque Queue除了前面介绍的实现外,还有一种双向的Queue实现Deque。这种队列允许在队列头和尾部进行入队出队操作,因此在功能上比Queue显然要更复杂。下图描述的是Deque的完整体系图。需要说明的是LinkedList也已经加入了Deque的一部分(LinkedList是从jdk1.2 开始就存在数据结构)。 D...转载 2020-12-24 18:52:40 · 287 阅读 · 1 评论 -
【数据结构】双队列-DEQUE
Deque是一个双端队列接口,继承自Queue接口,Deque的实现类是LinkedList、ArrayDeque、LinkedBlockingDeque,其中LinkedList是最常用的。 线性集合,支持两端插入和移除元素。大多数Deque实现对它们可能包含的元素数量没有固定限制。 此接口定义了访问双端队列两端元素的方法。 提供了插入,移除和检查元素的方法。一种在操作失败时抛出异常,另一种返回特殊值( null或false ,具体取决于操作) 操作第一个元素 操作最后一个元素抛出异常特殊值抛出异原创 2020-12-24 18:35:00 · 312 阅读 · 1 评论 -
【数据结构】队列
队列 细节记录 public interface Queue<E> extends Collection<E> { /** * 在容量限制满足的情况下成功添加 返回 true * 如果当前没有可用空间 抛出illeglastateException异常 */ boolean add(E e); /** * 在容量限制满足的情况下成功添加 返回 true * 如果当前没有可用空间 返回 false原创 2020-12-23 15:46:10 · 93 阅读 · 0 评论