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