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

31次阅读
没有评论

共计 1174 个字符,预计需要花费 3 分钟才能阅读完成。

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

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

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]

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-09发表,共计1174字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)