以下是几种找出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);