菜鸟问题,怎么LinkedList比ArrayList添加元素还要慢啊??
不是说LinkedList添加删除元素比ArrayList开销小吗?? 怎么添加元素反而慢呢??
import java.util.ArrayList;
import java.util.LinkedList;
public class AddingGroups {
public static void main(String[] args) {
//新建一个LinkedList集合
LinkedList<Integer> linkedList = new LinkedList<>();
//新建一个ArrayList集合
ArrayList<Integer> arrayList = new ArrayList<>();
//记录linkedList添加开始时间
Long statTimeLink = System.currentTimeMillis();
//开始添加元素
for(int i = 0;i<1000000;i++){
linkedList.add(i);
}
//记录linkedList添加元素结束时间
Long endTimeLink = System.currentTimeMillis();
//计算linkedList添加用的时间
System.out.println("linkedList添加用的时间是"+(endTimeLink - statTimeLink)+"s");
//记录ArrayList添加开始时间
Long statTimeArray = System.currentTimeMillis();
//开始添加元素
for(int i = 0;i<1000000;i++){
arrayList.add(i);
}
//记录ArrayList添加结束时间
Long endTimeArray = System.currentTimeMillis();
//计算arrayList添加用的时间
System.out.println("ArrayList添加用的时间是"+(endTimeArray - statTimeArray)+"s");
}
}
运行结果:linkedList添加用的时间是1483s
ArrayList添加用的时间是437s