我必须为类编写一个堆栈,并且当我理解堆栈如何工作的概念时,我没有被告知它们是使用数组还是链接列表或其他方法创建的?大多数堆栈是如何创建的?应该从数组或链接列表java创建堆栈?
1
A
回答
4
ArrayDeque
是堆栈概念的可靠的类实现。这个类以最有效的方式实现了堆栈。请查看各种方法的细节的类实现。
http://www.docjar.com/html/api/java/util/ArrayDeque.java.html
更具体地说,看public E pollFirst(){...}
和public void addFirst(E e)
1
java.util.Stack是java.util.Vector中的一个子类,这是一个线程安全的前兆ArrayList的。希望有所帮助。
1
这两个选项,数组和链表都适用。
链接列表可能更简单,因为您不必担心数组大小。另一方面,基于数组的实现可能具有更好的运行时行为,并且可以更容易调试(因为它比调试器中的链表更容易查看数组)。
选择任何你感到舒服的东西。
相关问题
- 1. 在Java中创建一组堆栈卡时替代链接列表?
- 2. 如何从链表中创建堆栈?
- 3. 从堆栈和链接列表JAVA中缺少数字?
- 4. Java堆栈链表
- 5. 的Java数组列表,链表和堆栈问题
- 6. 堆栈的顶部应该在堆栈的链表中实现?
- 7. Java数据结构使用链接列表的堆栈
- 8. 堆栈和数组列表
- 9. 使用链接列表实现堆栈
- 10. 按链接列表执行堆栈
- 11. C链接列表堆栈和指针
- 12. 链接列表堆栈弹出方法
- 13. 在哪里创建动态大小数组? (堆栈或堆)
- 14. 数组或链接列表
- 15. 链接列表数组Java
- 16. 在C++中链接双栈链表和堆栈和队列类
- 17. 了解堆栈(数据结构),堆栈类,链表 - java?
- 18. 从两个堆栈创建队列
- 19. 我可以将堆栈添加到ArrayList(或链接列表)吗?
- 20. 如何访问ArrayList中的堆栈或链接列表?
- 21. 推送到在java中使用链接列表的堆栈
- 22. 列表,数组,堆栈队列?
- 23. 从堆栈创建JSON
- 24. 从圆形链表创建一个堆栈,以便反向打印列表
- 25. Java Array列表堆栈
- 26. Java堆栈数组 - 大O表示法
- 27. 在Rails应用程序中实现链接列表堆栈
- 28. 如何添加链接列表或使用堆栈函数将其转换为链接列表
- 29. 为什么要使用链接列表而不是数组或矢量实现来实现堆栈或队列?
- 30. 在Java中为堆栈结构创建动态数组
链接列表似乎更合适。它具有良好的增长行为,并且不需要通过索引来访问元素。 – DwB 2014-10-08 18:15:10
最好的实现取决于应用程序的要求。 – megadan 2014-10-08 18:29:03