Java 按元素的属性对列表排序
我有一个java arraylist: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
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;
}