Java 按元素的属性对列表排序

Java 按元素的属性对列表排序,java,list,sorting,arraylist,Java,List,Sorting,Arraylist,我有一个java arraylist: List<Log> logs = new ArrayList<Log>(); 按日期排序日志列表的好方法是什么?您可以实现一个Comparator接口,如下所示: import java.util.ArrayList; import java.util.Comparator; import java.util.Date; import java.util.List; public class Main { public s

我有一个java arraylist:

List<Log> logs = new ArrayList<Log>();
按日期排序日志列表的好方法是什么?

您可以实现一个Comparator接口,如下所示:

import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
public class Main {
    public static void main(String arg[]) {
        List<Log> logs = new ArrayList<Log>();
        logs.sort(new CustomComparator());
    }
}

class CustomComparator implements Comparator<Log> {
    @Override
    public int compare(Log o1, Log o2) {
        return o1.date.compareTo(o2.date);
    }
}

class Log {
    String type;
    int num;
    Date date;
}

请注意,使用排序功能时,我建议您这样做:这些答案太旧了。java8中有更好的解决方案。
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
public class Main {
    public static void main(String arg[]) {
        List<Log> logs = new ArrayList<Log>();
        logs.sort(new CustomComparator());
    }
}

class CustomComparator implements Comparator<Log> {
    @Override
    public int compare(Log o1, Log o2) {
        return o1.date.compareTo(o2.date);
    }
}

class Log {
    String type;
    int num;
    Date date;
}