import java.util.*;
import java.util.Date.*;
public class Date2{
public static void main(String[] args){
long time1=new Date().getTime();
ArrayList linkedlist=new ArrayList();
for(int n=0;n<30000;n++){
linkedlist.add(n,null);
}
long time3=new Date().getTime();
for(int m=0;m<30000;m++){
linkedlist.add(m,null);
}
long time4 = new Date().getTime();
System.out.print("batch Arraylist add:");
System.out.println(time3-time1);
System.out.println(time4-time3);
}
}
上面是用arraylist在已有30000条元素基础上在插入30000条元素
import java.util.*;
import java.util.Date.*;
public class Date1{
public static void main(String[] args){
long time1=new Date().getTime();
LinkedList linkedlist=new LinkedList();
for(int n=0;n<30000;n++){
linkedlist.add(n,null);
}
long time3=new Date().getTime();
for(int m=0;m<30000;m++){
linkedlist.add(m,null);
}
long time4 = new Date().getTime();
System.out.print("batch linkedlist add:");
System.out.println(time3-time1);
System.out.println(time4-time3);
}
}
上面是用linkedlist在已有30000条元素基础上在插入30000条元素
但测试结果linklisted却要好时30000毫秒
而arraylist却几耗时2000毫秒这违背了这两个容器的构造原理呀,请专家解答!
import java.util.Date.*;
public class Date2{
public static void main(String[] args){
long time1=new Date().getTime();
ArrayList linkedlist=new ArrayList();
for(int n=0;n<30000;n++){
linkedlist.add(n,null);
}
long time3=new Date().getTime();
for(int m=0;m<30000;m++){
linkedlist.add(m,null);
}
long time4 = new Date().getTime();
System.out.print("batch Arraylist add:");
System.out.println(time3-time1);
System.out.println(time4-time3);
}
}
上面是用arraylist在已有30000条元素基础上在插入30000条元素
import java.util.*;
import java.util.Date.*;
public class Date1{
public static void main(String[] args){
long time1=new Date().getTime();
LinkedList linkedlist=new LinkedList();
for(int n=0;n<30000;n++){
linkedlist.add(n,null);
}
long time3=new Date().getTime();
for(int m=0;m<30000;m++){
linkedlist.add(m,null);
}
long time4 = new Date().getTime();
System.out.print("batch linkedlist add:");
System.out.println(time3-time1);
System.out.println(time4-time3);
}
}
上面是用linkedlist在已有30000条元素基础上在插入30000条元素
但测试结果linklisted却要好时30000毫秒
而arraylist却几耗时2000毫秒这违背了这两个容器的构造原理呀,请专家解答!
linkedlist是用链表来实现的,
linkedlist插入元素快是只随便插入第n的元素,,
而你用的插入是用
for(int n=0;n <30000;n++){
linkedlist.add(n,null);
}
其实是n到30000遍历呀,,书上不是上说数组的遍历要比链表的快呀,,
不知道你明白了没,,
你本意是要说随便插入个元素 linkedlist要比arraylist快,
而你的代码做的却是数组的遍历,,当然arraylist快了
要搞清楚数据结构中的内容
顺序存储和链式存储各自的优缺点
arraylist 是顺序存储,查询和顺序插入是高手。 linkedlist 基于链表,多次删除,修改,它是高手。