学习完方法和排序后,我们开始来举一反三,编写3个小demo来试一试吧!
第三个计算排序小程序:
/*
*这是一个打印出排序所需时间的小程序 PaiXuShiJian
*/
public class PaiXuShiJian{public static void main(String[] args){
Collection<Integer> set1= new HashSet<Integer>();System.out.println("散列集所用时间是:" + getTestTime(set1,100000) + "毫秒");
Collection<Integer> set2= new LinkedHashSet<Integer>();
System.out.println("链式散列集所用时间是:" + getTestTime(set2,100000) + "毫秒");
Collection<Integer> set3= new TreeSet<Integer>();
System.out.println("树形散列集所用时间是:" + getTestTime(set3,100000) + "毫秒");
Collection<Integer> set4= new ArrayList<Integer>();
System.out.println("数组所用时间是:" + getTestTime(set4,100000) + "毫秒");
Collection<Integer> set5= new LinkedList<Integer>();
System.out.println("链式线性表所用时间是:" + getTestTime(set5,100000) + "毫秒");
}
//测试所用时间的方法,定义开始时间startTime和结束时间endTime
public static long getTestTime(Collection<Integer> a,int size){long startTime= System.currentTimeMillis();
ArrayList<Integer> list=new ArrayList<Integer>();
for(int i=0;i<size;i++)
list.add(i);
Collections.shuffle(list);
for (int element:list)
a.add(element);
Collections.shuffle(list);
Collections.reverse(list);
Collections.max(list);
Collections.min(list);
long endTime= System.currentTimeMillis();
return endTime=startTime;
}
}
可以扩展到其他计算排序所用时间