java数组里的元素怎么去重

ID:18708 / 打印
java数组去重有三种方法:使用hashset:将数组元素放入hashset中,再将去重后的元素复制回数组。使用linkedhashset:与hashset类似,但保留元素插入顺序。使用arrays.sort()和双指针:排序数组,跳过相邻重复元素,将去重后的元素复制回数组。

java数组里的元素怎么去重

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() 和双指针

  1. 使用 Arrays.sort() 对数组进行排序。
  2. 使用两个指针遍历排序后的数组,如果相邻元素相同,则跳过重复的元素。
  3. 将去重后的元素复制回数组。
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);
上一篇: java 字符串怎么加入数组中
下一篇: java怎么把字符串加入数组

作者:admin @ 24资源网   2024-11-26

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。