菜鸟问题,怎么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
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
...全文
相关推荐
java菜鸟教程_JAVA菜鸟教程_
此外,你还将学习Java集合框架,包括ArrayList、LinkedList、HashMap等数据结构,它们在存储和处理大量数据时非常有用。
Java培训教程 菜鸟到高手
Java集合框架包括List、Set、Queue和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。这些内容是处理数据结构和算法的关键。
java菜鸟教程.rar
**数组与集合框架**:学习如何声明、初始化和操作数组,以及掌握Java集合框架,如List、Set、Map接口和ArrayList、LinkedList、HashSet、HashMap等实现类的用法。
java 从菜鸟到高手.rar
集合框架是Java库的一个强大组成部分,包括List、Set、Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现。
菜鸟虚怀项目Java笔试题
**集合框架**:ArrayList、LinkedList、HashSet、HashMap等常用集合类的使用,以及它们之间的区别和选择原则,理解迭代器的使用,以及泛型的应用。5.


Java SE
