java对对象数组输出时按时间升序排列
时间: 2023-05-02 10:03:33 浏览: 126
可以使用Java中的Arrays.sort()方法对对象数组进行按时间升序排列,其中需要自定义Comparator比较器,比较器需要重写compare()方法以指定按时间升序排列的规则。具体实现可参考如下代码片段:
```
import java.util.Arrays;
import java.util.Comparator;
public class Test {
public static void main(String[] args) {
// 创建对象数组
Object[] objects = new Object[] {
new Object("2019-01-01 00:00:00"),
new Object("2021-07-01 12:00:00"),
new Object("2020-05-01 08:00:00")
};
// 对象排序
Arrays.sort(objects, new Comparator<Object>() {
@Override
public int compare(Object o1, Object o2) {
// 将字符串时间转换为long型时间戳进行比较
long t1 = ((Object) o1).getTime();
long t2 = ((Object) o2).getTime();
if (t1 < t2) {
return -1;
} else if (t1 > t2) {
return 1;
} else {
return 0;
}
}
});
// 输出排序结果
for (Object object : objects) {
System.out.println(object.toString());
}
}
public static class Object {
private String time; // 时间字符串
public Object(String time) {
this.time = time;
}
public long getTime() {
try {
// 将字符串时间转换为long型时间戳
return new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time).getTime();
} catch (java.text.ParseException e) {
e.printStackTrace();
return 0;
}
}
@Override
public String toString() {
return time;
}
}
}
```
阅读全文