java stream 时间属性list排序
时间: 2023-10-13 12:14:28 浏览: 109
假设你有一个包含时间属性的对象列表,你可以使用Java 8中的Stream API来对其进行排序,如下所示:
```
List<YourObject> list = // your list of objects with time property
List<YourObject> sortedList = list.stream()
.sorted(Comparator.comparing(YourObject::getTimeProperty))
.collect(Collectors.toList());
```
其中,`YourObject`是你的对象类型,`getTimeProperty()`是时间属性的getter方法。`Comparator.comparing()`方法接受一个函数,用于从对象中提取要比较的属性。`Collectors.toList()`方法将排序后的结果收集到一个新的列表中。
这将按时间属性升序排序你的对象列表。如果你想要降序排序,可以使用`Comparator.comparing().reversed()`方法。
相关问题
java的stream对list排序
可以使用Java 8中的stream进行排序,示例代码如下:
List<Integer> list = Arrays.asList(5, 2, 9, 1, 5, 6);
List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
这个代码可以将一个整数List按升序排序。
java stream 根据时间倒序排序
你可以使用Java Stream来根据时间倒序排序。假设你有一个包含时间对象的列表,你可以使用`sorted()`方法结合`Comparator`来实现排序。下面是一个示例代码:
```java
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<LocalDateTime> dateTimeList = new ArrayList<>();
dateTimeList.add(LocalDateTime.of(2021, 1, 1, 12, 0));
dateTimeList.add(LocalDateTime.of(2021, 2, 1, 12, 0));
dateTimeList.add(LocalDateTime.of(2021, 3, 1, 12, 0));
List<LocalDateTime> sortedList = dateTimeList.stream()
.sorted(Comparator.reverseOrder())
.toList();
System.out.println(sortedList);
}
}
```
在上面的例子中,我们首先创建了一个包含时间对象的列表`dateTimeList`。然后,我们使用`stream()`方法将列表转换为流,并使用`sorted()`方法与`Comparator.reverseOrder()`来进行倒序排序。最后,我们将排序后的流转换回列表并打印输出。
输出结果将会是:
```
[2021-03-01T12:00, 2021-02-01T12:00, 2021-01-01T12:00]
```
这样,你就可以根据时间倒序对Java Stream进行排序了。
阅读全文