我的java学习路之排序方法应用demo3效率问题

来源:互联网 发布:cp交易网络是什么意思 编辑:程序博客网 时间:2024/06/01 09:04

学习完方法和排序后,我们开始来举一反三,编写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;

}

}

可以扩展到其他计算排序所用时间

0 0
原创粉丝点击