我必須爲類編寫一個堆棧,並且當我理解堆棧如何工作的概念時,我沒有被告知它們是使用數組還是鏈接列表或其他方法創建的?大多數堆棧是如何創建的?應該從數組或鏈接列表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. 從堆棧和鏈接列表JAVA中缺少數字?
- 3. Java堆棧鏈表
- 4. 的Java數組列表,鏈表和堆棧問題
- 5. 堆棧的頂部應該在堆棧的鏈表中實現?
- 6. Java數據結構使用鏈接列表的堆棧
- 7. 堆棧和數組列表
- 8. 使用鏈接列表實現堆棧
- 9. 按鏈接列表執行堆棧
- 10. 在哪裏創建動態大小數組? (堆棧或堆)
- 11. 鏈接列表數組Java
- 12. 如何訪問ArrayList中的堆棧或鏈接列表?
- 13. 我可以將堆棧添加到ArrayList(或鏈接列表)嗎?
- 14. 列表,數組,堆棧隊列?
- 15. 從堆棧創建JSON
- 16. 從圓形鏈表創建一個堆棧,以便反向打印列表
- 17. Java堆棧數組 - 大O表示法
- 18. 在Rails應用程序中實現鏈接列表堆棧
- 19. 如何添加鏈接列表或使用堆棧函數將其轉換爲鏈接列表
- 20. 爲什麼要使用鏈接列表而不是數組或矢量實現來實現堆棧或隊列?
- 21. 在Java中爲堆棧結構創建動態數組
- 22. 列表項目應該創建sharepoint組
- 23. Java堆棧組件
- 24. 使用構建在數組列表中的java創建堆應用程序?
- 25. 使用鏈接列表複製堆棧的構造函數
- 26. 鏈接列表堆棧操作符重載函數
- 27. 鏈接列表堆棧丟失堆棧上的最後一項推出
- 28. 從數組創建列表
- 29. 初始化的java數組是否進入堆棧或堆?
- 30. 如何驗證或創建CloudFormation堆棧
鏈接列表似乎更合適。它具有良好的增長行爲,並且不需要通過索引來訪問元素。 – DwB 2014-10-08 18:15:10
最好的實現取決於應用程序的要求。 – megadan 2014-10-08 18:29:03