【发布时间】:2018-10-25 21:51:03
【问题描述】:
Java Doc 表示最好从Deque 创建Stack,而不是使用典型的Stack<>。不幸的是,它没有强调为什么会这样。
双端队列也可以用作 LIFO(后进先出)堆栈。应优先使用此接口而不是旧的 Stack 类。当双端队列用作堆栈时,从双端队列的开头推送和弹出元素。
有人可以指出为什么会这样吗?同样,是否还有其他情况我们应该避免使用内置的Collections 对象?我是一名转向 Java 的 C++ 开发人员,因此任何此类微妙的指针都会有所帮助。
谢谢。
【问题讨论】:
-
堆栈扩展向量。看到这个答案:stackoverflow.com/questions/1386275/…
-
@PatrickParker,好吧,我不认为这个问题回答了我的疑问。来吧,接受的答案只是说 “至于 Stack 等价物 - 我会从 Deque/ArrayDeque 开始。” 你认为将其归类为 dup 就足够了吗?跨度>
-
PK - 如果您仔细阅读,您会注意到 Stack 是 Vector 的扩展。换句话说,他们所说的关于 Vector 的每一件事也适用于 Stack。
-
@P.K.您应该阅读该问题的所有答案。
-
另请阅读此答案,该答案更深入地讨论了堆栈; stackoverflow.com/a/35372152/7098259
标签: java collections stack deprecated obsolete