堆栈应该是从数组还是链表java?

时间:2014-10-08 17:57:09

标签: java stack

我必须为类编写一个堆栈,虽然我理解堆栈如何工作的概念,但是我不知道它们是使用数组还是链接列表或其他东西制作的?大多数堆栈是如何创建的?

3 个答案:

答案 0 :(得分:4)

ArrayDeque是堆栈概念的实体类实现。这个类以最有效的方式实现了堆栈。请查看类实现以了解各种方法的详细信息。

http://www.docjar.com/html/api/java/util/ArrayDeque.java.html

更具体地说,请查看public E pollFirst(){...}public void addFirst(E e)

答案 1 :(得分:1)

java.util.Stack是java.util.Vector的子类,它是ArrayList的线程安全前身。希望有所帮助。

答案 2 :(得分:1)

两个选项,数组和链表都是合适的。

链表可能更简单,因为您不必担心数组大小。另一方面,基于数组的实现可能具有更好的运行时行为,并且可以更容易调试(因为它比调试器中的链表更容易查看数组)。

选择你喜欢的任何东西。