测试代码如下
import java.util.ArrayList; import java.util.LinkedList; public class arraylistPKlinkedlist { public static void main(String[] args) { // TODO Auto-generated method stub arraylist(); linkedlist(); } static void arraylist(){ ArrayList al = new ArrayList(); long start = System.currentTimeMillis(); for(int i = 0 ; i<300000 ;i++){ al.add(0,"加入元素"+i);//注意 } long end = System.currentTimeMillis(); System.out.println("ArrayList消耗的时间"+(end - start)); } static void linkedlist(){ LinkedList al = new LinkedList(); long start = System.currentTimeMillis(); for(int i = 0 ; i<300000 ;i++){ al.add(0,"加入元素"+i); } long end = System.currentTimeMillis(); System.out.println("LinkedList消耗的时间"+(end - start)); } }
测试结果
ArrayList消耗的时间45157
LinkedList消耗的时间155
这其中有一点需要注意:
在添加元素的时候,添加元素的位置很重要,这个程序添加新元素的位置每次都是第一个(这样顺序存储的结构每次都要移动最大次数),但是如果添加元素每次都是最后一个,那么结果就大不一样了,ArrayList消耗的时间比LinkedList还要少。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-22 16:11:30