参考文献
实例演示
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new LinkedList<>();
long start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i ++){
list1.add(i);
}
long end = System.currentTimeMillis();
System.out.println(list1.size());
System.out.println(end - start);
System.out.println("=================");
start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
list2.add(i);
}
end = System.currentTimeMillis();
System.out.println(list2.size());
System.out.println(end - start);
}
- 可以看出,大规模数据的插入(add), 并不是使用链表更加高效, 即数组的频繁扩容的耗时比创建 Node 对象耗时短.