Java8 找出List<String>集合中具体重复的是哪些值

时间:2025-03-10 13:47:13

以下是几种找出List<String>集合中具体重复值的方法

1、使用Java8的流式编程和()方法,将列表分组为具有相同值的子列表,然后查找有多个元素的子列表:

List<String> list = ("apple", "banana", "orange", "banana", "pear", "orange");
Map<String, Long> frequencyMap = ()
        .collect(((), ()));
List<String> duplicates = ().stream()
        .filter(entry -> () > 1)
        .map(::getKey)
        .collect(());
(duplicates);

2、使用Java8的流式编程和()方法,将重复的元素筛选出来

List<String> list = ("apple", "banana", "orange", "banana", "pear", "orange");
List<String> duplicates = ()
        .filter(n -> (list, n) > 1)
        .collect(())
        .stream()
        .collect(());
(duplicates);

3、使用Java8的流式编程和()方法,将元素作为键,重复次数作为值,然后查找值大于1的元素

List<String> list = ("apple", "banana", "orange", "banana", "pear", "orange");
Map<String, Integer> map = ()
        .collect(((), v -> 1, Integer::sum));
List<String> duplicates = ().stream()
        .filter(entry -> () > 1)
        .map(::getKey)
        .collect(());
(duplicates);

4、使用Java8的流式编程和()方法,将列表中的所有元素添加到另一个集合中,并检查哪些元素已经存在

List<String> list = ("apple", "banana", "orange", "banana", "pear", "orange");
Set<String> set = new HashSet<>();
List<String> duplicates = ()
        .filter(n -> !(n))
        .collect(());
(duplicates);