stream流保留重复元素
时间: 2023-10-18 15:29:50 浏览: 43
要保留Stream流中的重复元素,可以使用Java 8的Stream API中的distinct()方法。该方法会去除流中的重复元素,并返回一个新的流。只需要将该新的流收集到列表中或进行其他操作即可。例如,可以使用以下代码来保留重复元素:
```
Integer[] numbers = new Integer[] { 1, 2, 1, 3, 4, 4 };
List<Integer> duplicates = Arrays.stream(numbers)
.filter(n -> Collections.frequency(Arrays.asList(numbers), n) > 1)
.collect(Collectors.toList());
System.out.println(duplicates);```
在此代码中,我们首先将数组转换为流,然后使用filter()方法来过滤出出现次数大于1的元素。最后,我们将结果收集到一个列表中并打印出来。运行以上代码,输出结果为[1, 1, 4, 4],即保留了重复的元素[1, 4]。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Stream流实践(四):流中如何保留重复元素?(基本类型 对象)](https://blog.csdn.net/qq_44716086/article/details/129790712)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [aiostream:基于生成器的运算符用于异步迭代](https://download.csdn.net/download/weixin_42131618/18281389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]