栈(Stack):
-
先入后出
-
添加、删除皆为O(1)
-
查询为O(n):因为Stack是无序的
-
底层实现为Vector(相当于ArrayList,Vector是线程安全的)
-
在Java10,Java12中指出在工程中需要使用先进后出的结构时,推荐使用Deque
队列(Queue):
-
先进先出
-
添加、删除皆为O(1)
-
查询为O(n):因为Queue是无序的
双端队列(Deque:Double-End Queue)
-
可以理解为Stack与Queue的结合体,实战中常用
-
前后端都可以Push、Pop
-
添加、删除皆为O(1),查询为O(n)
Stack、Queue、Deque的工程实现
-
Java中的基础实现
-
Stack
-
Queue
-
Deque
-
-
如何查询接口信息?如何使用?
-
在谷歌浏览器输入stack java + 版本号
-
在谷歌浏览器查看Java最新版本号:lates java version
-
优先队列(Priority Queue)
-
插入操作:O(1)
-
取出操作:O(logN)-按照元素的优先级取出
-
底层具体实现的数据结构比较多样和复杂:heap(堆)、bst(二叉搜索树)、treap