.stream().map(distinct())
时间: 2023-11-09 17:19:53 浏览: 115
. stream().map(distinct()) 是Java 8中的一个操作流的方法。 它首先通过 .stream() 将一个集合转换成一个流,然后通过 .map(distinct()) 对流中的元素进行映射和去重操作。 该方法会返回一个新的流,其中的元素是原始流中经过映射和去重后得到的结果。 引用展示了一个例子,该例子将 ObjectList 中的每个对象的用户名进行映射并去重,最后将结果收集到一个列表中。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关问题
workFlowFormList.stream().map(WorkFlowFormDO::getUnitProjectId).distinct().collect(Collectors.toList());
这是一个Java 8中的流式操作,对`workFlowFormList`列表进行了一系列操作,包括:
1. `stream()`方法将列表转换为流,以便进行流式操作。
2. `map(WorkFlowFormDO::getUnitProjectId)`方法将流中的每个元素(`WorkFlowFormDO`对象)映射为其对应的`unitProjectId`属性。
3. `distinct()`方法去重,仅保留不同的`unitProjectId`值。
4. `collect(Collectors.toList())`方法将流中剩余的元素收集到一个列表中,并返回该列表作为最终结果。
因此,这段代码的作用是从`workFlowFormList`列表中提取出所有不同的`unitProjectId`值,并以列表的形式返回。
relList.stream().map(t->t.getOpenid()).distinct().collect(Collectors.toList())
这段代码使用了 Java 8 中的 Stream API,作用是从 `relList` 集合中获取所有不重复的 `openid` 并以列表的形式返回。
具体解释如下:
1. `relList` 是一个集合,`stream()` 方法将其转换为一个流,可以对其中的元素进行处理。
2. `map(t -> t.getOpenid())` 方法将 `relList` 中的每个元素 `t` 映射成其 `openid` 属性,返回一个新的流。
3. `distinct()` 方法用于去重,返回一个由不同元素组成的新流。
4. `collect(Collectors.toList())` 方法将新流中的元素收集到一个新的列表中并返回。
综上所述,该代码可以简单地理解为:从 `relList` 中获取所有不重复的 `openid` 并以列表的形式返回。
阅读全文