【发布时间】:2014-12-31 10:53:20
【问题描述】:
我了解到LinkedList 是作为双链表实现的。它在 add 和 remove 上的性能优于 Arraylist,但在 get 和 set 方法上更差。
这是否意味着我应该选择LinkedList 而不是Arraylist 进行插入?
我写了一个小测试,发现ArrayList插入速度更快。那么链表怎么比ArrayList快呢?
请参考下面我做的例子。
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
public class TestLinkedList {
public static void main(String[] args) {
long lStartTime = new Date().getTime();
System.out.println("lStartTime:: " + lStartTime);
List<Integer> integerList = new LinkedList<Integer>();
for (int i = 0; i < 10000000; i++) {
integerList.add(i);
}
long lEndTime = new Date().getTime();
System.out.println("lEndTime:: " + lEndTime);
long difference = lEndTime - lStartTime;
System.out.println("Elapsed milliseconds: " + difference);
}
}
【问题讨论】:
标签: java list arraylist linked-list