public static void TestAdd()
long [] timeBegin = new long[2];
long [] timeEnd = new long[2];
Integer [] ia = new Integer[5000];
Random rm = new Random();
* 测试对大小为5000 的ArrayList进行100000次随机访问所用时间
List alist = new ArrayList(Arrays.asList(ia));
timeBegin[0] = System.currentTimeMillis();
alist.add(rm.nextInt(5000), 1);
timeEnd[0] = System.currentTimeMillis();
List llist = new LinkedList(Arrays.asList(ia));
timeBegin[1] = System.currentTimeMillis();
llist.add(rm.nextInt(5000), 1);
timeEnd[1] = System.currentTimeMillis();
System.out.println("+++分析对大小为5000 的LinkedList类型和ArrayList类型进行的10000次随机添加所用时间比较+++");
System.out.println("ArrayList的10000次添加速度测试:");
System.out.println("耗时:"+(timeEnd[0]-timeBegin[0])+"ms");
System.out.println("LinkedList的10000次添加速度测试");
System.out.println("耗时:"+(timeEnd[1]-timeBegin[1])+"ms");
}
public static void TestAdd()
long [] timeBegin = new long[10];
long [] timeEnd = new long[10];
Integer [] ia = new Integer[5000];
Random rm = new Random();
* 测试对大小为5000 的ArrayList进行100000次随机访问所用时间
List alist = new ArrayList(Arrays.asList(ia));
timeBegin[0] = System.currentTimeMillis();
alist.add(rm.nextInt(5000), 1);
timeEnd[0] = System.currentTimeMillis();
timeBegin[1] = System.currentTimeMillis();
alist.add(rm.nextInt(5000), 1);
timeEnd[1] = System.currentTimeMillis();
timeBegin[2] = System.currentTimeMillis();
alist.add(rm.nextInt(5000), 1);
timeEnd[2] = System.currentTimeMillis();
timeBegin[6] = System.currentTimeMillis();
alist.add(rm.nextInt(5000), 1);
timeEnd[6] = System.currentTimeMillis();
timeBegin[8] = System.currentTimeMillis();
for(int k=0;k<100000;k++)
alist.add(rm.nextInt(5000), 1);
timeEnd[8] = System.currentTimeMillis();
List llist = new LinkedList(Arrays.asList(ia));
timeBegin[3] = System.currentTimeMillis();
llist.add(rm.nextInt(5000), 1);
timeEnd[3] = System.currentTimeMillis();
timeBegin[4] = System.currentTimeMillis();
llist.add(rm.nextInt(5000), 1);
timeEnd[4] = System.currentTimeMillis();
timeBegin[5] = System.currentTimeMillis();
llist.add(rm.nextInt(5000), 1);
timeEnd[5] = System.currentTimeMillis();
timeBegin[7] = System.currentTimeMillis();
llist.add(rm.nextInt(5000), 1);
timeEnd[7] = System.currentTimeMillis();
timeBegin[9] = System.currentTimeMillis();
for(int k=0;k<100000;k++)
llist.add(rm.nextInt(5000), 1);
timeEnd[9] = System.currentTimeMillis();
System.out.println("+++分析对大小为5000 的LinkedList类型和ArrayList类型进行的10000次随机添加所用时间比较+++");
System.out.println("ArrayList的添加速度测试:");
System.out.println("100次");
System.out.println("ArrayList -耗时:"+(timeEnd[0]-timeBegin[0])+"ms");
System.out.println("LinkedList -耗时:"+(timeEnd[3]-timeBegin[3])+"ms");
System.out.println("1000次");
System.out.println("ArrayList -耗时:"+(timeEnd[1]-timeBegin[1])+"ms");
System.out.println("LinkedList -耗时:"+(timeEnd[4]-timeBegin[4])+"ms");
System.out.println("10000次");
System.out.println("ArrayList -耗时:"+(timeEnd[2]-timeBegin[2])+"ms");
System.out.println("LinkedList -耗时:"+(timeEnd[5]-timeBegin[5])+"ms");
System.out.println("50000次");
System.out.println("ArrayList -耗时:"+(timeEnd[6]-timeBegin[6])+"ms");
System.out.println("LinkedList -耗时:"+(timeEnd[7]-timeBegin[7])+"ms");
System.out.println("100000次");
System.out.println("ArrayList -耗时:"+(timeEnd[8]-timeBegin[8])+"ms");
System.out.println("LinkedList -耗时:"+(timeEnd[9]-timeBegin[9])+"ms");