gpt4 book ai didi

java - 为什么 LinkedList 在 java 中没有 initialCapacity?

转载 作者:IT老高 更新时间:2023-10-28 21:04:25 25 4
gpt4 key购买 nike

我想知道为什么 LinkedList 没有 initialCapacity

我知道何时使用 ArrayList 以及何时使用 LinkedList

定义集合最终大小的良好做法如下:

List<String> arraylist = new ArrayList<String>(5);

LinkedList为例:

List<String> linkedlist = new LinkedList<String>(); // right way

但是

List<String> arraylist = new LinkedList<String>(5); // compilation error

有人能解释一下这个问题吗?

[编辑]

顺便说一句,我会写

List<String> arraylist = new ArrayList<String>(5);
List<String> linkedlist = new LinkedList<String>(arraylist);

最佳答案

LinkedList 本质上没有“容量”,因为在将项目添加到列表之前它不会为项目分配内存。 LinkedList 中的每一项都包含一个指向列表中下一项的指针。

http://www.stoimen.com/blog/wp-content/uploads/2012/06/0.-Arrays-vs.-linked-list.png

事先为列表分配内存没有意义,因为 LinkedList 没有容量

关于java - 为什么 LinkedList 在 java 中没有 initialCapacity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19050211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com