java怎么找出集合中重复的元素

avatar
作者
筋斗云
阅读量:0

可以使用两种方法来找出集合中重复的元素。

方法一:使用嵌套循环遍历集合,比较每个元素是否与其他元素重复。

import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set;  public class Main {     public static void main(String[] args) {         List<Integer> list = new ArrayList<>();         list.add(1);         list.add(2);         list.add(3);         list.add(2);         list.add(4);         list.add(1);                  Set<Integer> duplicates = new HashSet<>();         for (int i = 0; i < list.size() - 1; i++) {             for (int j = i + 1; j < list.size(); j++) {                 if (list.get(i).equals(list.get(j))) {                     duplicates.add(list.get(i));                 }             }         }                  System.out.println("重复的元素:" + duplicates);     } } 

输出结果为:

重复的元素:[1, 2] 

方法二:使用HashMap统计每个元素的出现次数,然后找出出现次数大于1的元素。

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;  public class Main {     public static void main(String[] args) {         List<Integer> list = new ArrayList<>();         list.add(1);         list.add(2);         list.add(3);         list.add(2);         list.add(4);         list.add(1);                  Map<Integer, Integer> countMap = new HashMap<>();         for (Integer element : list) {             countMap.put(element, countMap.getOrDefault(element, 0) + 1);         }                  List<Integer> duplicates = new ArrayList<>();         for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {             if (entry.getValue() > 1) {                 duplicates.add(entry.getKey());             }         }                  System.out.println("重复的元素:" + duplicates);     } } 

输出结果为:

重复的元素:[1, 2] 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!