◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
java数组中查找重复元素的方法:使用set:它不存储重复元素,因此将数组元素添加到set中,重复元素不添加。使用hashmap:记录元素出现次数,出现次数超过1的即为重复元素。使用排序:将数组排序,重复元素将成为相邻元素。
如何查找 Java 数组中的重复元素
Java 数组是一种数据结构,用于按顺序存储同一类型的元素。有时候,可能需要查找数组中重复的元素。以下是如何在 Java 中查找数组中重复元素的方法:
1. 使用 Set
Set 接口不存储重复元素,因此可以将其用于查找重复元素。
立即学习“Java免费学习笔记(深入)”;
import java.util.Arrays; import java.util.Set; import java.util.HashSet; class FindDuplicates { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; Set<Integer> uniqueElements = new HashSet<>(); Set<Integer> duplicates = new HashSet<>(); for (int element : arr) { if (!uniqueElements.add(element)) { duplicates.add(element); } } System.out.println("重复元素:" + duplicates); } }
2. 使用 HashMap
HashMap 是一种键值对数据结构,其中键是唯一的。可以使用它来记录数组中元素的出现次数。
import java.util.Arrays; import java.util.HashMap; class FindDuplicates { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; HashMap<Integer, Integer> elementCounts = new HashMap<>(); for (int element : arr) { elementCounts.put(element, elementCounts.getOrDefault(element, 0) + 1); } for (int element : elementCounts.keySet()) { if (elementCounts.get(element) > 1) { System.out.println("重复元素:" + element); } } } }
3. 使用排序
如果数组中的元素是可排序的,可以使用排序算法。排序后,重复元素将成为相邻的元素。
import java.util.Arrays; class FindDuplicates { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; Arrays.sort(arr); for (int i = 0; i < arr.length - 1; i++) { if (arr[i] == arr[i + 1]) { System.out.println("重复元素:" + arr[i]); } } } }
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。