List<String> gatherTimeList = eSResponseList.stream() .map(DevPortReportEsDTO::getGatherTime) // 获取目标字段的值 .distinct() // 去重 .collect(Collectors.toList()); // 转为列表 改成set集合
时间: 2024-02-21 15:57:06 浏览: 127
你的问题是将上述代码中的列表转换为集合,正确吗?
如果是的话,可以将最后一行的代码改为:
```
.collect(Collectors.toSet()); // 转为集合
```
这样就可以将列表转换为集合并去重。
相关问题
List<String> realValueFieldIds = accountFieldCollectionMap.values().stream().map(ConfAccountField::getFieldRelation).collect(Collectors.toList()); Map<String, ConfAccountField> fieldMap = MapUtil.transformUniqueIndexMap(confAccountFieldMap.values(), ConfAccountField::getFieldId); List<ConfAccountField> realSiteFields = realValueFieldIds.stream().map(fieldMap::get).filter(Objects::nonNull).distinct().collect(Collectors.toList());
这段代码使用了Java 8的Stream API,主要是对一些集合进行操作。具体来说,代码首先从一个名为accountFieldCollectionMap的Map中取出所有的值,即一个ConfAccountField对象的集合,然后对每个对象调用getFieldRelation方法,获取其关联的字段的ID,并将这些ID收集到一个List<String>中。
接下来,代码将confAccountFieldMap的所有值转化为一个Map<String, ConfAccountField>,其中键为ConfAccountField对象的getFieldId方法返回的ID,值为ConfAccountField对象本身。然后,代码从realValueFieldIds中取出每个ID,通过get方法从fieldMap中获取相应的ConfAccountField对象,如果对象存在且没有重复,则将其收集到一个List<ConfAccountField>中。
综上所述,这段代码的作用是根据一个Map中ConfAccountField对象的关联字段的ID,获取所有对应的ConfAccountField对象,并去除重复的对象。
这List<String> confCodeList = newsList.stream().map(News::getBuzzCode).distinct().collect(Collectors.toList();这段代码的含义
这段代码的含义是:从一个新闻列表 `newsList` 中获取每一篇新闻的 `buzzCode` 字段(假设是一个字符串类型),并去重后将结果以 List<String> 的形式返回,存储在 `confCodeList` 变量中。使用了 Java 8 中的 Stream API,其中 `map()` 方法将每个 `News` 对象映射为其 `buzzCode` 值,`distinct()` 方法保证去重,`collect()` 方法将结果收集到一个 List 中。
阅读全文