【问题标题】:unmodifiable Stack不可修改的堆栈
【发布时间】:2012-03-25 15:01:23
【问题描述】:

我需要一个只读/不可修改java.util.Stack。

Lists 有 Collections.unmodifiableList(...),但对我来说,Stack 比 List 更好。

是否有可能避免使用所有这些修改方法来实现我自己的UnmodifiableStack?

谢谢!

【问题讨论】:

  • 如果它是不可修改的,那么你将无法推送或弹出任何东西。您打算如何处理不可修改的堆栈?
  • 只读堆栈是没有用的:你只能读取顶部元素(并且只有一个)。
  • ... 除了 peek/search 方法——但你是对的。我现在将使用列表。

标签: java collections stack


【解决方案1】:

由于将其设为不可修改可防止推送和弹出,因此仅使用 Collections.unmodifiableCollection() 返回不可修改的 Collection 并与 Stack 作为输入一起工作如何?

【讨论】:

  • 嗯...实际上我有一个与方法Stack<Move> getMoves() 的接口,并且只有一个实现应该有UnmodifiableStack。所以接口强制使用Stack 而不是Collection。也许我必须改变架构:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 2022-11-02
  • 2017-03-05
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 2018-03-29
相关资源
最近更新 更多