ArrayList与LinkedList对比
简单记录一下两个list的区别:
个人看法,实际开发中ArrayList使用的几率要远大于LinkedList:
直接上代码比较好
代码块
package com.br.approval.test;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class TestList {
public static void main(String[] args) {
List<String> l=new LinkedList<>();
List<String> l1=new ArrayList<>();
int i=0;
Long start=System.currentTimeMillis();
while (i<=10000){
l.add("add ele");
i++;
}
Long times=System.currentTimeMillis()-start;
System.out.println("LinkedList 加10000次毫秒耗时:"+times);
i=0;
start=System.currentTimeMillis();
while (i<=10000){
l1.add("add ele");
i++;
}
times=System.currentTimeMillis()-start;
System.out.println("ArrayList 加10000次毫秒耗时:"+times);
i=0;
start=System.currentTimeMillis();
for(String a:l){
a=a+"";
}
times=System.currentTimeMillis()-start;
System.out.println("LinkedList 遍历10000次毫秒耗时:"+times);
i=0;
start=System.currentTimeMillis();
for(String a:l1){
a=a+"";
}
times=System.currentTimeMillis()-start;
System.out.println("ArrayList 遍历10000次毫秒耗时:"+times);
}
}
结果如下:
LinkedList 加10000次毫秒耗时:3
ArrayList 加10000次毫秒耗时:2
LinkedList 遍历10000次毫秒耗时:31
ArrayList 遍历10000次毫秒耗时:10
结果表明,10000次循环,在进行add时,两种list耗时差不多,查询ArrayList的效率更好
下面看一下1百万次的循环结果
LinkedList 加1000000次毫秒耗时:26
ArrayList 加1000000次毫秒耗时:118
LinkedList 遍历1000000次毫秒耗时:58
ArrayList 遍历1000000次毫秒耗时:31
附带一个写的比较全面的博客地址