下面是一个示例代码,演示如何按照日期排序对象数组:
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
public class Main {
public static void main(String[] args) {
// 创建对象数组
MyObject[] myObjects = new MyObject[3];
myObjects[0] = new MyObject("Object 1", new Date(2022, 3, 15));
myObjects[1] = new MyObject("Object 2", new Date(2022, 2, 28));
myObjects[2] = new MyObject("Object 3", new Date(2022, 1, 10));
// 按日期排序对象数组
Arrays.sort(myObjects, new Comparator() {
@Override
public int compare(MyObject o1, MyObject o2) {
return o1.getDate().compareTo(o2.getDate());
}
});
// 输出排序结果
for (MyObject myObject : myObjects) {
System.out.println(myObject.getName() + ": " + myObject.getDate());
}
}
}
class MyObject {
private String name;
private Date date;
public MyObject(String name, Date date) {
this.name = name;
this.date = date;
}
public String getName() {
return name;
}
public Date getDate() {
return date;
}
}
在上面的示例中,我们创建了一个MyObject
类,它包含一个名称和一个日期属性。然后,我们创建了一个包含MyObject
对象的数组,并使用Arrays.sort()
方法对数组进行排序。我们使用一个匿名内部类实现了Comparator
接口,并覆盖了compare()
方法来指定排序的规则,即按照日期进行比较。最后,我们遍历排序后的数组,并输出结果。
请注意,上述示例使用了java.util.Date
类来表示日期。然而,java.util.Date
类已过时,推荐使用java.time.LocalDate
或java.time.LocalDateTime
类来表示日期。如果使用这些新的日期类,需要相应地修改代码。
上一篇:按日期排序的查询