测试代码如下:
public static void main(String[] args) {
List<Integer> l;
l = new ArrayList<>();
insertFirst(l, "ArrayList");
l = new LinkedList<>();
insertFirst(l, "LinkedList");
}
private static void insertFirst(List<Integer> l, String type) {
int total = 1000 * 100;
final int number = 5;
long start = System.currentTimeMillis();
for (int i = 0; i < total; i++) {
l.add(0, number);
}
long end = System.currentTimeMillis();
System.out.printf("在%s 最前面插入%d条数据,总共耗时 %d 毫秒 %n", type, total, end - start);
}
结果如下:
在ArrayList 最前面插入100000条数据,总共耗时 1447 毫秒
在LinkedList 最前面插入100000条数据,总共耗时 5 毫秒
测试多次,效率差距明显!实验结果是这样,具体为什么,我现在不知道。
网友评论