一个集合 需要对其中的元素的“2023-03-02T11:55:32.855+08:00”String参数进行时间排序 使用stream
时间: 2023-03-24 10:00:17 浏览: 132
以下是一个使用Java 8的Stream API对给定的字符串参数进行时间排序的示例代码:
```java
import java.time.OffsetDateTime;
import java.util.Arrays;
import java.util.Comparator;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
String input = "2023-03-02T11:55:32.855 08:00";
Stream<String> dateTimeStream = Arrays.stream(input.split(" "));
Stream<OffsetDateTime> offsetDateTimeStream = dateTimeStream.map(OffsetDateTime::parse);
Comparator<OffsetDateTime> dateTimeComparator = Comparator.naturalOrder();
offsetDateTimeStream.sorted(dateTimeComparator).forEach(System.out::println);
}
}
```
首先,我们将输入字符串按空格分隔成两个子字符串。然后,我们使用Java 8中的`OffsetDateTime`类将每个子字符串转换为时间对象。接下来,我们创建了一个`Comparator`对象,以便我们可以将这些时间对象按升序排序。最后,我们使用`forEach`方法打印出排序后的时间对象。
阅读全文