在过去的几年里,我不得不深入研究Spring的来源。我注意到开发人员真的很喜欢链表。我不知道为什么他们选择这个作为列表实现而不是数组列表。有谁知道为什么做出这个延期决定?
答案 0 :(得分:2)
这实际上取决于用法。但也许是因为增长链接列表时的空间复杂性很便宜,如果你只是在一个集合上进行迭代,你就不会进行任何查找操作,这是一个不错的选择。 Recall ArrayList实现有一个几何增长模型,如果你不知道apriori列表的大小,那么它是一个糟糕的选择。增加列表超过当前容量将导致当前数组被复制到当前容量的两倍的新数组。