ArrayList和LinkedList的区别
Posted 假如酷爱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList和LinkedList的区别相关的知识,希望对你有一定的参考价值。
以下为jdk1.6中ArrayList中的构造函数源码。
- public ArrayList(int initialCapacity) {
- super();
- if (initialCapacity < 0)
- throw new IllegalArgumentException("Illegal Capacity: "+
- initialCapacity);
- this.elementData = new Object[initialCapacity];
- }
- /**
- * Constructs an empty list with an initial capacity of ten.
- */
- public ArrayList() {
- this(10);
- }
可以看出在建立ArrayList对象的时候。
默认建立了一个长度为10的Object数组。但是这只是ArrayList 的实现方式。
在LinkedList中是这样的。
- public LinkedList() {
- header.next = header.previous = header;
- }
如果有C 基础的话。应该知道这是链表实现的。
这就是为什么LinkedList的增删效率高!查询效率低!而ArrayList 的查询效率高!增删效率低!
这就是说其实数组只是集合实现的一种方式。
以上是关于ArrayList和LinkedList的区别的主要内容,如果未能解决你的问题,请参考以下文章