标签:
例子
package com.lion; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.RandomAccess; public class RandomAccessTest { public static void traverse(List list) { long startTime; long endTime; //遍历前先判读是否实现了RandomAccess接口 if (list instanceof RandomAccess) { System.out.println(list.getClass()+"实现了RandomAccess接口"); } else { System.out.println(list.getClass()+"未实现RandomAccess接口"); } System.out.println("\n以实现RandomAccess接口方式访问"); startTime = System.currentTimeMillis(); for (int i = 0; i < list.size(); i++) { Object o = list.get(i); // System.out.println(o); } endTime = System.currentTimeMillis(); System.out.println("耗时:" + (endTime - startTime)); System.out.println("\n以未实现RandomAccess接口方式访问"); startTime = System.currentTimeMillis(); for (Iterator iter = list.iterator(); iter.hasNext();) { Object o = iter.next(); // System.out.println(o); } endTime = System.currentTimeMillis(); System.out.println("耗时:" + (endTime - startTime)); } /** * @param args */ public static void main(String[] args) { List arraylist = new ArrayList(); // 添加1000个元素 for (int i = 0; i < 100000; i++) { arraylist.add("aaa"); } List linkList = new LinkedList(); // 添加1000个元素 for (int i = 0; i < 100000; i++) { linkList.add("aaa"); } traverse(arraylist); traverse(linkList); } }
运行结果:
class java.util.ArrayList实现了RandomAccess接口
以实现RandomAccess接口方式访问
耗时:9
以未实现RandomAccess接口方式访问
耗时:12
class java.util.LinkedList未实现RandomAccess接口
以实现RandomAccess接口方式访问
耗时:4128
以未实现RandomAccess接口方式访问
耗时:7
标签:
原文地址:http://www.cnblogs.com/lion88/p/4186820.html