- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想知道为什么 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 中的每一项都包含一个指向列表中下一项的指针。
事先为列表分配内存没有意义,因为 LinkedList 没有容量。
关于java - 为什么 LinkedList 在 java 中没有 initialCapacity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19050211/
我应该传递什么值来为 N 个项目创建一个基于 HashMap/HashMap 的高效结构? 在 ArrayList 中,有效数字是 N(N 已经假设 future 增长)。 HashMap 的参数应该
当从一个集合构造一个HashSet和一个LinkedHashSet时,initialCapacity在默认实现中被设置为不同的值。 哈希集: public HashSet(Collection c)
HashMap的构造函数 /** * Constructs an empty HashMap with the specified initial * capacity and load fact
java.util.concurrent.ConcurrentHashMap的构造方法之一: public ConcurrentHashMap(int initialCapacity) {
我想知道为什么 LinkedList 没有 initialCapacity。 我知道何时使用 ArrayList 以及何时使用 LinkedList。 定义集合最终大小的良好做法如下: List ar
我使用 PriorityQueue 对某些数据进行部分排序。特别是,这是代码: Collection data = ...; PriorityQueue queue = new PriorityQue
在ArrayList.java中,为什么ArrayList(int initialCapacity)构造函数调用super()? 我知道它正在尝试调用其父类(super class)的默认构造函数,即
我必须从一个数组(在下面的代码中称为 nums)构造一个最大堆,所以我使用 java.util.PriorityQueue。 我的代码是这样的: PriorityQueue pq = new Prio
我正在处理排序 interval存在于 ArrayList 上及其 start属性,完整定义 interval将在示例代码中显示为私有(private)类。 我使用的实现是 MergeSort , 与
我是一名优秀的程序员,十分优秀!