Java Tips

作者: 乘瓠散人 | 来源:发表于2017-12-16 17:26 被阅读8次
  1. Java中比较日期:
    ComparatorDate.java类

import java.text.SimpleDateFormat;
import java.util.Comparator;
import java.util.Date;

import bean.Meet;

public class ComparatorDate implements Comparator{

    @Override
    public int compare(Object obj1, Object obj2) {
        Meet t1 = (Meet) obj1;
        Meet t2 = (Meet) obj2;

        Date d1, d2;
       
        d1 = t1.getStart();
        d2 = t2.getStart();
       
        if (d1.before(d2)) { //时间小的优先级低,故排在前;也就是优先级高的排在后面
            return -1;
        } else {
            return 1;
        }
    }
    
}

调用:

//将符合条件的会议时间排序
ComparatorDate c = new ComparatorDate();
Collections.sort(meets, c);
  1. java计算运行时间
      //计算不同特征序列的排序耗时
       for(int i=1; i<=10; i++){
            a = new Random().ints(i*1000).toArray(); //随机生成一定规模的数组
            
            //随机序列排序所需时间
            long begin1 = System.currentTimeMillis();
            sort(a);
            long end1 = System.currentTimeMillis();
            
            
            //正序序列排序所需时间
            long begin2 = System.currentTimeMillis();
            sort(a);
            long end2 = System.currentTimeMillis();
            
            
            Integer[] arr = new Integer[a.length];
            for(int k=0; k<a.length; k++){
                arr[k] = new Integer(a[k]);
            }   
            Arrays.sort(arr, Collections.reverseOrder());
            for(int k=0; k<a.length; k++){
                a[k] = arr[k];              
            }
            //逆序排列排序所需时间
            long begin3 = System.currentTimeMillis();
            sort(a);
            long end3 = System.currentTimeMillis();
            
            System.out.print("随机序列: " + (end1 - begin1) + "毫秒");
            System.out.print("; 正序序列: " + (end2 - begin2) + "毫秒");
            System.out.println("; 逆序序列: " + (end3 - begin3) + "毫秒");
            
        }

相关文章

网友评论

      本文标题:Java Tips

      本文链接:https://www.haomeiwen.com/subject/wlzswxtx.html