何时在Java中使用LinkedList而不是ArrayList?

我一直只是一个人使用:

List<String> names = new ArrayList<>();

我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码。

何时应该LinkedList使用,ArrayList反之亦然?


元芳怎么了
浏览 1155回答 3
3回答

交互式爱情

ArrayList是你想要的。LinkedList几乎总是一个(性能)错误。为什么LinkedList糟透了:它使用大量小内存对象,因此会影响整个过程的性能。很多小对象都不利于缓存局部性。任何索引操作都需要遍历,即具有O(n)性能。这在源代码中并不明显,导致算法O(n)比ArrayList使用的算法慢。获得良好的表现是棘手的。即使大O性能相同ArrayList,但无论如何它可能会明显变慢。LinkedList在源代码中看到它很不耐烦,因为它可能是错误的选择。
打开App,查看更多内容
随时随地看视频慕课网APP