java 数组根据 int类型字段正序和LocalDateTime字段倒序,两个字段
时间: 2024-07-10 09:01:06 浏览: 148
在Java中,你可以使用`Comparator`接口或匿名内部类来根据给定的`int`类型字段进行正序排序,并根据`LocalDateTime`字段进行逆序排序。这里是一个简单的例子:
```java
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Comparator;
class MyClass {
private int intField;
private LocalDateTime localDateTimeField;
// getters and setters...
@Override
public String toString() {
return "MyClass{" +
"intField=" + intField +
", localDateTimeField=" + localDateTimeField +
'}';
}
}
public class Main {
public static void main(String[] args) {
// 假设这是你的数组,你可以替换为实际的对象列表
MyClass[] array = {new MyClass(3, LocalDateTime.now()), new MyClass(1, LocalDateTime.now().minusDays(1)), new MyClass(2, LocalDateTime.now().plusDays(1))};
// 使用Comparator按intField正序排序,localDateTimeField倒序排序
Arrays.sort(array, (o1, o2) -> {
int intComparison = Integer.compare(o1.getIntField(), o2.getIntField());
if (intComparison != 0) {
return intComparison;
} else {
return LocalDateTime.now().compareTo(o2.getLocalDateTimeField()).compareTo(o1.getLocalDateTimeField()); // 降序比较日期时间
}
});
for (MyClass obj : array) {
System.out.println(obj);
}
//
阅读全文