2012-04-21 57 views
3

在过去的几年中,我不得不深入研究Spring的源代码。我注意到开发者们真的很喜欢链表。我不确定他们为什么选择这个作为列表实现。有谁知道为什么做出这个延期决定?为什么Spring的源代码如此使用链接列表

+3

他们在哪里/他们如何使用它? – 2012-04-21 01:56:38

回答

2

这实际上取决于用法。但也许是因为增长链表时空间的复杂性很便宜,如果你只是迭代一个集合,你不会做任何查找操作,这是一个不错的选择。回想一下,ArrayList的实现有一个几何增长模型,如果你不知道这个列表将会有多大,那么这是一个不错的选择。通过增加当前容量的列表会导致将当前数组复制到当前容量的两倍的新数组。

+0

我有点想这个。这似乎是一个奇怪的选择,因为AL的实现速度比LL快,在我看来,大多数用例不需要更多16个元素,这是默认数组大小。 – Virmundi 2012-04-22 02:02:00

相关问题