阅读量: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]