Java 中堆栈行为最好的类是什么

dev*_*ull 6 java collections stack

我需要在代码中使用简单的堆栈(简单的推送和弹出)。虽然是微不足道的情况,但经过一番思考后,我意识到我实际上不知道哪个 Java(集合框架?)类最适合这种行为。我知道有一些集合框架类也具有类似堆栈的行为,而且java.util.Stack- 但看到它扩展Vector并且不记得我读过的任何 Java 集合教程/教科书中提到过这个类(甚至没有 SCJP 认证)我觉得这可能不会是最好的选择,尽管简单的在线教程使用此类。

我应该去什么班?

要求:几乎没有。只需按下并弹出即可。没有并发访问。容纳String计数 20 - 几百(更糟糕的情况)。

La-*_*eja 7

使用双端队列。Stack 类的文档中也提到了这一点。(根据@RohitJain)

LinkedList 也可以工作——您正在谈论的那些规范都与该数据结构一起在线性时间内发生。

事实上,对于如此简单的事情,有几个本质上同样好的选择。如果您正在考虑扩展它,请告诉我们您在该程序的未来迭代中还想做什么,这可能是决定哪一个的好方法。