假设有一个包含多个对象的数组,每个对象都有一个日期属性。我们希望按照日期重新排列这个数组。下面是一个示例代码:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
public class DateSortingExample {
public static void main(String[] args) {
// 创建包含对象的数组
MyObject[] objects = new MyObject[5];
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
// 设置对象的日期属性
objects[0] = new MyObject(dateFormat.parse("2022-01-01"));
objects[1] = new MyObject(dateFormat.parse("2021-12-25"));
objects[2] = new MyObject(dateFormat.parse("2022-02-14"));
objects[3] = new MyObject(dateFormat.parse("2022-03-08"));
objects[4] = new MyObject(dateFormat.parse("2022-01-15"));
} catch (ParseException e) {
e.printStackTrace();
}
// 使用Comparator按日期属性排序数组
Arrays.sort(objects, new Comparator() {
@Override
public int compare(MyObject o1, MyObject o2) {
return o1.getDate().compareTo(o2.getDate());
}
});
// 打印排序后的数组
for (MyObject object : objects) {
System.out.println(dateFormat.format(object.getDate()));
}
}
}
class MyObject {
private Date date;
public MyObject(Date date) {
this.date = date;
}
public Date getDate() {
return date;
}
}
上述代码中,我们创建了一个包含5个对象的数组,并给每个对象设置了一个日期属性。然后,我们使用Arrays.sort()
方法和自定义的Comparator
对象按照日期属性对数组进行排序。最后,我们遍历排序后的数组,并打印每个对象的日期属性。
注意,示例中使用了SimpleDateFormat
类来解析日期字符串和格式化日期。根据实际情况,你可能需要调整日期格式和日期属性的类型。
上一篇:按日期值筛选列表