Java 8, Streams to find the duplicate elements(Java 8,流查找重复元素)
问题描述
我正在尝试列出整数列表中的重复元素,例如,
I am trying to list out duplicate elements in the integer list say for eg,
List<Integer> numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4});
使用 jdk 8 的 Streams.有没有人尝试过.要删除重复项,我们可以使用 distinct() api.但是如何找到重复的元素呢?有人可以帮帮我吗?
using Streams of jdk 8. Has anybody tried out. To remove the duplicates we can use the distinct() api. But what about finding the duplicated elements ? Anybody can help me out ?
推荐答案
你可以使用Collections.frequency
:
numbers.stream().filter(i -> Collections.frequency(numbers, i) >1)
.collect(Collectors.toSet()).forEach(System.out::println);
这篇关于Java 8,流查找重复元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Java 8,流查找重复元素
基础教程推荐
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 降序排序:Java Map 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01