58,454
社区成员
发帖
与我相关
我的任务
分享
package com.qzb.test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class TestList {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 初始化LinkedList
List<String> linkedList = new LinkedList<String>();
linkedList.add("Java");
linkedList.add("真");
linkedList.add("有趣");
linkedList.add("!");
// 初始化ArrayList
List<String> arrayList = new ArrayList<String>();
arrayList.add("Java");
arrayList.add("真");
arrayList.add("有趣");
arrayList.add("!");
// 比较运行时间
compareRunTime(linkedList, arrayList);
}
/**
* 遍历list 使用Iterator
*
* @param list
*/
@SuppressWarnings("rawtypes")
public static void traverseListIterator(List<String> list) {
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String string = (String) iterator.next();
System.out.print(string);
}
}
/**
* 遍历list 使用for
*
* @param list
*/
public static void traverseListFor(List<String> list) {
for (int i = 0; i < list.size(); i++) {
String string = list.get(i);
System.out.print(string);
}
}
/**
* 比较运行时间
*
* @param linkedList
* @param arrayList
*/
public static void compareRunTime(List<String> linkedList, List<String> arrayList) {
long beginTime1 = System.currentTimeMillis();
traverseListIterator(linkedList);
long endTime1 = System.currentTimeMillis();
System.out.println("迭代器方式遍历LinkedList运行耗时:" + (endTime1 - beginTime1));
long beginTime2 = System.currentTimeMillis();
traverseListFor(linkedList);
long endTime2 = System.currentTimeMillis();
System.out.println("for循环方式遍历LinkedList运行耗时:" + (endTime2 - beginTime2));
long beginTime3 = System.currentTimeMillis();
traverseListIterator(arrayList);
long endTime3 = System.currentTimeMillis();
System.out.println("迭代器方式遍历ArrayList运行耗时:" + (endTime3 - beginTime3));
long beginTime4 = System.currentTimeMillis();
traverseListFor(arrayList);
long endTime4 = System.currentTimeMillis();
System.out.println("for循环方式遍历ArrayList运行耗时:" + (endTime4 - beginTime4));
}
}