List<String> deviceIdList = trDevportList.stream().map(ReportResultCommon::getDevId).collect(Collectors.toList()); 加上去重
时间: 2023-08-02 19:06:48 浏览: 39
可以使用Java 8的Stream API中的distinct()方法来去重。只需在map()方法之后调用distinct()方法即可。
例如:
```
List<String> deviceIdList = trDevportList.stream()
.map(ReportResultCommon::getDevId)
.distinct()
.collect(Collectors.toList());
```
这将返回一个去重后的设备ID列表。
相关问题
List<String> taskIds = actionList.stream().map(ActionListDTO::getTaskId).collect(Collectors.toList());
这段代码的作用是将`actionList`集合中的每个元素转换为一个字符串`taskId`,然后将所有的`taskId`收集到一个新的`List<String>`集合中。具体解释如下:
首先,`actionList`是一个`List<ActionListDTO>`类型的集合。
接着,`stream()`方法将这个集合转换成一个流。
然后,`map(ActionListDTO::getTaskId)`方法将流中的每个`ActionListDTO`对象转换为它的`taskId`属性值。
最后,`collect(Collectors.toList())`方法将所有的`taskId`收集到一个新的`List<String>`集合中。
最终,这段代码会返回一个`List<String>`类型的结果,其中包含了`actionList`集合中所有元素的`taskId`属性值。
解释代码 List<String> skus = skuList.stream().map(ProductSkuDTO::getSku).collect(Collectors.toList())
这行代码使用了Java 8中的Stream API,对一个名为skuList的List<ProductSkuDTO>进行了操作,通过map方法将每个ProductSkuDTO对象转换为其对应的sku属性,然后将转换后的sku属性收集到一个List<String>中。
具体来说,map方法接收一个Function接口作为参数,用于将每个ProductSkuDTO对象映射为其sku属性,这个Function接口使用了Java 8中的方法引用,即ProductSkuDTO::getSku表示调用ProductSkuDTO对象的getSku方法。
最后,collect方法接收一个Collector接口作为参数,用于将Stream中的元素收集为一个集合。在这里,使用了Collectors.toList()方法,将Stream中的元素收集到一个List<String>集合中。