java自定义类型 比较排序 Comparator接口

Posted javagogogo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java自定义类型 比较排序 Comparator接口相关的知识,希望对你有一定的参考价值。

String service_time = "6:00:00,7:00:00,8:00:00,9:00:00,10:00:00,11:00:00,12:00:00,13:00:00,14:00:00,15:00:00,16:00:00,17:00:00,18:00:00,19:00:00,20:00:00,21:00:00,22:00:00
";
List<String> list = StringUtil.stringToList(service_time, ",");
StringTimeSort sort = new StringTimeSort();  
Collections.sort(list,sort);
package com.enation.eop.sdk.utils;

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

public class StringTimeSort implements Comparator{

    @Override
    public int compare(Object arg0, Object arg1) {
        // TODO Auto-generated method stub
        String time0 = (String) arg0;
        String time1 = (String) arg1;
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
        int t0 = 0;  
        int t1 = 0;
        try {
            t0 = (int) sdf.parse(time0).getTime();
            t1 = (int) sdf.parse(time1).getTime();
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        return t0 > t1 ? 1 : -1; //按照时间的由小到大排列 
    }

}
通过实现Comparator接口 完成自定义排序

以上是关于java自定义类型 比较排序 Comparator接口的主要内容,如果未能解决你的问题,请参考以下文章

Java中Comparable与Comparator的区别

Collections.sort排序时,重写Comparator自定义排序报java.lang.AbstractMethodError异常,

Comparator与Comparable,自定义排序和类比较器,TreeSet对象排序

java.ArrayList集合调用并重写sort方法,使用时报错

Android - 是不是可以使用 Comparator.comparing 而不是 API < 24 上的自定义比较器对列表进行排序?

Java Comparator comparingInt() 的使用