List<DsProjectAttrStatisticsVO> day 用stream筛选day里面 Long类型timeValue 生成List<String>集合每个timeValue截取前六位 并对截取后的timeValue 去重
时间: 2024-04-15 12:31:25 浏览: 89
使用Java 8的Stream API可以很方便地筛选和处理集合中的元素。下面是使用对`List<DsProjectAttrStatisticsVO>`进行筛选、截取和去重的示例代码:
```java
List<DsProjectAttrStatisticsVO> day = ...; // 原始的List<DsProjectAttrStatisticsVO>
List<String> result = day.stream()
.map(DsProjectAttrStatisticsVO::getTimeValue) // 获取每个对象的timeValue
.map(timeValue -> timeValue.substring(0, 6)) // 截取前六位
.distinct() // 去重
.collect(Collectors.toList()); // 转换为List<String>
```
在上述代码中,首先使用`stream()`方法将`day`列表转换为Stream对象,然后使用`map()`方法将每个`DsProjectAttrStatisticsVO`对象的`timeValue`提取出来。接着使用`map()`方法将每个`timeValue`截取前六位,并使用`distinct()`方法对截取后的结果进行去重。最后,使用`collect()`方法将Stream对象转换为List<String>集合。
注意:需要根据实际情况导入所需的类,例如`java.util.List`、`java.util.stream.Collectors`以及`DsProjectAttrStatisticsVO`所在的包。
阅读全文