java用stream流求LocalDatetime最大的
时间: 2024-04-24 20:23:09 浏览: 288
您可以使用`Stream.max()`方法结合自定义的比较器来求`LocalDateTime`对象流中的最大值。下面是一个示例代码:
```java
import java.time.LocalDateTime;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<LocalDateTime> datetimeList = List.of(
LocalDateTime.of(2021, 1, 1, 0, 0),
LocalDateTime.of(2021, 2, 1, 0, 0),
LocalDateTime.of(2021, 3, 1, 0, 0)
);
LocalDateTime maxDatetime = datetimeList.stream()
.max(Comparator.naturalOrder())
.orElse(null);
System.out.println("最大的LocalDateTime是:" + maxDatetime);
}
}
```
在上面的示例中,我们创建了一个`LocalDateTime`对象的列表`datetimeList`,然后使用`stream()`方法将其转换为流。接着,我们使用`max()`方法来获取流中最大的`LocalDateTime`对象,使用`Comparator.naturalOrder()`作为比较器来进行比较。最后,我们使用`orElse(null)`来处理流为空的情况,并打印出最大的`LocalDateTime`对象。
请注意,这只是一个示例代码,您可以根据实际需求进行修改。
阅读全文