先说结论
java中的栈官方推荐使用Deque(发音:呆克,不是迪克哈哈),这玩意儿既可以当栈 用,也可以当队列来用,因为它实现了Queue接口
类图查看
用idea打开Deque接口,发现483行有栈的两个经典方法push,pop。并且注明了是Stack methods
左侧有个标有绿色的大写I的图片,点开可以查看它的所有实现类
可以看到上图中有我们熟悉的LinkedList,所以如果我们想使用栈这种数据结构,只需要使用LinkedList就可以了,切记使用多态时要用Deque类型接收
Deque stack = new LinkedList();
一开始是刷leecode算法题,看到这一行代码感到很疑惑,明明是Deque(中文是队列的意思),为啥变量却命名为stack(栈),是因为Deque中有stack的实现(参考第一幅图)