java中栈的实现

先说结论

java中的栈官方推荐使用Deque(发音:呆克,不是迪克哈哈),这玩意儿既可以当栈 用,也可以当队列来用,因为它实现了Queue接口

类图查看

用idea打开Deque接口,发现483行有栈的两个经典方法push,pop。并且注明了是Stack methods
在这里插入图片描述
左侧有个标有绿色的大写I的图片,点开可以查看它的所有实现类
在这里插入图片描述
可以看到上图中有我们熟悉的LinkedList,所以如果我们想使用栈这种数据结构,只需要使用LinkedList就可以了,切记使用多态时要用Deque类型接收

Deque stack = new LinkedList();

一开始是刷leecode算法题,看到这一行代码感到很疑惑,明明是Deque(中文是队列的意思),为啥变量却命名为stack(栈),是因为Deque中有stack的实现(参考第一幅图)

猜你喜欢

转载自blog.csdn.net/chen462488588/article/details/112600764