strem流取重复值拿到最新
时间: 2024-01-16 22:02:36 浏览: 48
您可以使用 Java 8 中的流操作来取出最新的不重复值。您可以使用 `distinct` 方法来过滤掉重复的元素,然后使用 `sorted` 方法根据时间戳排序,最后使用 `findFirst` 方法获取最新的元素。以下是一个示例代码:
```java
List<Data> dataList = getDataList(); // 获取数据列表,其中 Data 类包含时间戳和其他属性
Data latestData = dataList.stream()
.distinct()
.sorted(Comparator.comparing(Data::getTimestamp).reversed())
.findFirst()
.orElse(null); // 如果列表为空,则返回 null
System.out.println("最新的数据是:" + latestData);
```
在上面的代码中,我们首先使用 `distinct` 方法过滤掉重复的元素,然后使用 `sorted` 方法根据时间戳排序,其中 `Comparator.comparing(Data::getTimestamp).reversed()` 表示按照时间戳降序排序。最后,我们使用 `findFirst` 方法获取第一个元素,如果列表为空,则返回 null。
阅读全文