在過去的幾年中,我不得不深入研究Spring的源代碼。我注意到開發者們真的很喜歡鏈表。我不確定他們爲什麼選擇這個作爲列表實現。有誰知道爲什麼做出這個延期決定?爲什麼Spring的源代碼如此使用鏈接列表
3
A
回答
2
這實際上取決於用法。但也許是因爲增長鏈表時空間的複雜性很便宜,如果你只是迭代一個集合,你不會做任何查找操作,這是一個不錯的選擇。回想一下,ArrayList的實現有一個幾何增長模型,如果你不知道這個列表將會有多大,那麼這是一個不錯的選擇。通過增加當前容量的列表會導致將當前數組複製到當前容量的兩倍的新數組。
+0
我有點想這個。這似乎是一個奇怪的選擇,因爲AL的實現速度比LL快,在我看來,大多數用例不需要更多16個元素,這是默認數組大小。 – Virmundi 2012-04-22 02:02:00
相關問題
- 1. 爲什麼我的鏈接列表代碼導致鏈接錯誤?
- 2. 爲什麼不能使用此代碼?
- 3. 爲什麼使用冒泡排序來排序鏈接列表時,此代碼無法正常工作?
- 4. 此代碼打印什麼?爲什麼?
- 5. 此功能爲什麼向後打印鏈接列表?
- 6. 爲什麼CountDownLatch源代碼如此複雜?
- 7. 爲什麼此源代碼在Grails 1.3.7中不起作用?
- 8. Angular Moustache評估 - 爲什麼此代碼的行爲如此?
- 9. 爲什麼此代碼在循環列表時拋出'InvalidOperationException'?
- 10. 爲什麼列表<>不在此代碼中填充?
- 11. Openbravo ERP源代碼鏈接
- 12. 鏈接C++源代碼
- 13. 開源RTOS代碼鏈接
- 14. 爲什麼不能使用此代碼? (新編碼)
- 15. Java:查看源代碼的鏈接列表?
- 16. 爲什麼不接受此事件接收器代碼工作?
- 17. 爲什麼此Java代碼的性能如此不一致?
- 18. 爲什麼此代碼使用* char作爲緩衝區指針?
- 19. 反向鏈接列表的代碼
- 20. C++中的鏈接列表代碼
- 21. XOR鏈接列表的C代碼
- 22. Silverlight SDK源代碼中此方法的用途是什麼?
- 23. 爲什麼Windows的gflags無法使用此代碼崩潰?
- 24. 爲什麼我在此代碼中接收Java中的IllegalFormatConversionException?
- 25. 爲什麼此代碼拋出System.ExecutionEngineException
- 26. 此代碼爲什麼編譯失敗?
- 27. 爲什麼此代碼會導致NullPointerException?
- 28. 爲什麼此代碼會產生InvalidMemoryOperationError?
- 29. 爲什麼此代碼會生成ArrayIndexOutOfBoundsException?
- 30. 爲什麼此代碼不顯示Google.com
他們在哪裏/他們如何使用它? – 2012-04-21 01:56:38