【问题标题】:java.util.Stack appropriate data structure?java.util.Stack 合适的数据结构?
【发布时间】:2009-08-24 02:26:25
【问题描述】:

嗯。我注意到 Stack 是 Vector 的子类,并且我认为 Vector 和 Hashtable 被认为是“旧”数据结构,因为即使您不需要它们,它们也是内置同步的。 (与不为您提供的 List、Map 等相比)

那是一个类,而不是一个接口。

有更现代的推荐替代品吗?

【问题讨论】:

    标签: java data-structures


    【解决方案1】:

    java.util.Deque

    双队列也可以用作 LIFO(后进先出)堆栈。应优先使用此接口,而不是旧的 Stack 类。当双端队列用作堆栈时,从双端队列的开头推送和弹出元素。

    【讨论】:

    • Collections.asLifoQueue 会将Deque 转换为“正确的”后进先出队列。
    【解决方案2】:

    我最终将 LinkedList 用于我的目的(add() 和 removeLast() 是推送和弹出操作)。糟糕,看起来这是一个重复的 Q。

    【讨论】:

      猜你喜欢
      • 2011-05-09
      • 2011-01-13
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多