不断的向数组的中间插入数据,ArrayList和LinkedList哪个快
大部分人应该回答是LinkedList快一些,实际却不然。
import java.util.*; public class Test { public static void main(String[] args) { ArrayList<Integer> List = new ArrayList<Integer>(); long start=System.currentTimeMillis(); for( int i=0;i <10000;i++ ) //给数组增加10个Int元素 List.add(i/2,i); System.out.println(System.currentTimeMillis()-start); //System.out.println(List); LinkedList<Integer> LList = new LinkedList<Integer>(); long startL=System.currentTimeMillis(); for( int i=0;i <10000;i++ ) //给数组增加10个Int元素 LList.add(i/2,i); System.out.println(System.currentTimeMillis()-startL); //System.out.println(LList); } }
ArrayList 19毫秒
LinkList 129毫秒
分析可能是由于LinkList需要遍历查询中间的位置比较浪费时间,所以慢了一些