java中怎么去除数组中重复

ID:18685 / 打印
常用的方法为:创建新数组,遍历原数组,将每个唯一元素存储在新数组中,时间复杂度为 o(n^2),空间复杂度为 o(n)。使用 set 接口,将原数组元素添加到 set 中,从 set 中检索元素并将其存储在新数组中,时间复杂度为 o(n),空间复杂度为 o(n)。

java中怎么去除数组中重复

如何去除 Java 中数组中的重复项

回答:

去除 Java 数组中重复项的常用方法是创建新数组或使用 Set。

详细说明:

立即学习“Java免费学习笔记(深入)”;

1. 创建新数组

  • 遍历原数组,将每个唯一元素存储在新数组中。
  • 时间复杂度:O(n^2),其中 n 是原数组的长度。
  • 空间复杂度:O(n),因为我们需要创建新数组。

2. 使用 Set

  • 使用 Set 接口,它不存储重复的元素。
  • 将原数组元素添加到 Set 中。
  • 从 Set 中检索元素并将其存储在新数组中。
  • 时间复杂度:O(n),因为 Set 操作的复杂度通常是 O(1)。
  • 空间复杂度:O(n),因为我们需要创建 Set 和新数组。

示例:

创建新数组:

int[] originalArray = {1, 2, 3, 4, 4, 5};  // 创建新数组,不包含重复项 int[] newArray = new int[originalArray.length]; int uniqueIndex = 0;  for (int i = 0; i < originalArray.length; i++) {     boolean unique = true;      // 检查当前元素是否已存在于新数组中     for (int j = 0; j < uniqueIndex; j++) {         if (originalArray[i] == newArray[j]) {             unique = false;             break;         }     }      // 如果元素是唯一的,则将其添加到新数组中     if (unique) {         newArray[uniqueIndex] = originalArray[i];         uniqueIndex++;     } }  // 调整新数组的大小 newArray = Arrays.copyOf(newArray, uniqueIndex);

使用 Set:

int[] originalArray = {1, 2, 3, 4, 4, 5};  // 创建 Set,不包含重复项 Set<Integer> uniqueSet = new HashSet<>();  // 将原数组元素添加到 Set 中 for (int num : originalArray) {     uniqueSet.add(num); }  // 从 Set 中检索元素并存储在新数组中 int[] newArray = new int[uniqueSet.size()]; int index = 0;  for (int num : uniqueSet) {     newArray[index++] = num; }
上一篇: java长度不固定的数组怎么定义
下一篇: java数组怎么调用类中的方法

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

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

与本文相关文章

发表评论:

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