Java 8,流查找重复元素

2022-01-22 00:00:00 lambda java-8 java java-stream

我正在尝试列出整数列表中的重复元素,例如,

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);

相关文章