Find unique elements in array Java

2025年5月2日 | 阅读 5 分钟

在 Java 中,数组是相同数据类型的元素集合。数组不会限制我们输入相同或重复的元素。因此,很多时候我们需要从数组中获取唯一的元素。在 Java 中,有多种方法可以从 数组 中查找唯一元素,如下所示:

  1. 通过将所有元素存储到 HashMap 的键中。
  2. 通过使用嵌套循环。
  3. 通过使用排序。
  4. 通过使用哈希。
Find unique elements in array Java

通过使用 HashMap 的键

Java 中,从数组中获取唯一元素最简单的方法是将数组的所有元素放入 HashMap 的键中,然后打印 keySet()。 HashMap 只包含唯一的键,因此它会自动从 HashMap 的 keySet 中删除重复的元素。

让我们举个例子来理解如何使用 HashMap 的键来获取不同的元素。

UniqueElementsExample1.java

输出

Find unique elements in array Java

通过使用嵌套循环

另一种从给定数组中获取不同元素的方法是使用 嵌套循环。内部和外部循环在此策略中起着非常重要的作用。外部循环逐个从数组的左侧取出一个元素。内部循环将其与该元素右侧的元素进行比较。如果匹配,则跳过它,否则,将其打印或存储到另一个包含不同元素的数组中。

让我们举个例子来理解这个策略在 Java 中是如何工作的。

UniqueElementsExample2.java

输出

Find unique elements in array Java

通过使用排序

我们之前讨论的解决方案的时间复杂度为 O(n2),但我们有另一种复杂度低于前一种的解决方案。我们可以通过执行排序算法来获取数组中的不同元素。此解决方案的时间复杂度为 O(nLogn)。

为了获取数组中的不同元素,我们将首先按升序或降序对数组进行排序,以便每个元素的出现都是连续的。之后,我们将使用 循环 遍历已排序的数组,并跳过所有连续重复元素的索引。

让我们举个例子来理解如何通过使用排序算法从数组中获取不同的元素。

UniqueElementsExample3.java

输出

Find unique elements in array Java

通过使用哈希

还有另一种方法可以从数组中获取不同的元素,即哈希。通过使用哈希,我们可以在 O(n) 的时间内获得不同的元素。我们遍历要从中获取不同元素的数组。我们从左到右进行遍历,并在哈希表中记录已访问的元素。

让我们来实现代码来理解哈希是如何用于从数组中获取不同元素的。

UniqueElementsExample4.java

输出

Find unique elements in array Java

以上所有讨论的方法都用于获取数组中的不同元素。所有方法在获取不同元素时都具有不同的时间复杂度。所有方法在不同场景中都发挥着重要作用。