◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
java数组去重有三种方法:使用hashset:将数组元素放入hashset中,再将去重后的元素复制回数组。使用linkedhashset:与hashset类似,但保留元素插入顺序。使用arrays.sort()和双指针:排序数组,跳过相邻重复元素,将去重后的元素复制回数组。
Java 数组去重
问题:如何从 Java 数组中删除重复元素?
回答:
方法 1:使用 HashSet
立即学习“Java免费学习笔记(深入)”;
HashSet 是一个无序集合类,它保证元素不重复。我们可以将数组元素添加到 HashSet 中,然后再将去重后的元素复制回数组。
Set<Integer> uniqueSet = new HashSet<>(); for (int num : array) { uniqueSet.add(num); } int[] uniqueArray = new int[uniqueSet.size()]; int index = 0; for (int num : uniqueSet) { uniqueArray[index++] = num; }
方法 2:使用 LinkedHashSet
LinkedHashSet 是一个有序集合类,它也保证元素不重复。与 HashSet 相比,LinkedHashSet 保留元素插入时的顺序。
Set<Integer> uniqueSet = new LinkedHashSet<>(); for (int num : array) { uniqueSet.add(num); } int[] uniqueArray = new int[uniqueSet.size()]; int index = 0; for (int num : uniqueSet) { uniqueArray[index++] = num; }
方法 3:使用 Arrays.sort() 和双指针
Arrays.sort(array); int index = 0; for (int i = 1; i < array.length; i++) { if (array[i] != array[index]) { array[++index] = array[i]; } } int[] uniqueArray = new int[index + 1]; System.arraycopy(array, 0, uniqueArray, 0, index + 1);
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。