【问题标题】:What is the best class for stack behavior in JavaJava中堆栈行为的最佳类是什么
【发布时间】:2014-02-20 16:51:21
【问题描述】:

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

我应该上什么课?

要求:几乎没有。只需按下并弹出。没有并发访问。在计数 20 中保存 String - 几百(更糟的情况)。

【问题讨论】:

  • 使用DequeStack类的文档中也提到过。
  • Deque 的任何实现。
  • java.util.Stack 如果你想要一个基本的 java 堆栈,是你最好的选择。
  • 这可能是类似的东西stackoverflow.com/questions/8281752/…
  • 我强烈建议你添加isEmptypeek;否则你可能会发现它有点限制。

标签: java collections stack


【解决方案1】:

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

LinkedList 也可以工作——你所说的那些规范都在该数据结构的线性时间内发生。

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

【讨论】:

    猜你喜欢
    • 2015-11-15
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 2010-09-18
    • 1970-01-01
    相关资源
    最近更新 更多