为什么LinkedList在Java中没有initialCapacity?

马克西姆·肖汀(Maxim Shoustin):

我不知道为什么LinkedList没有initialCapacity

我知道什么时候该用ArrayList,什么时候用LinkedList

定义Collection最终大小的良好做法是:

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

会有在事先分配内存列表没有意义的,因为链表不具备的能力

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章