◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
在 java 中从数组中去除重复值的方法有三种:使用 hashset、使用 set api、使用 stream api。hashset 是最有效的方法,使用 set api 和 stream api 也能轻松实现去重。
如何从 Java 数组中去除重复值
在 Java 中去除数组中重复值的方法有多种,其中最常用的方法如下:
1. 使用 HashSet
使用 HashSet 是去除数组中重复值最有效的方法之一。HashSet 是 Java 中的一个集合类,它自动过滤重复元素。
立即学习“Java免费学习笔记(深入)”;
import java.util.HashSet; import java.util.Arrays; public class RemoveDuplicates { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; // 创建一个 HashSet HashSet<Integer> set = new HashSet<>(); // 将数组元素添加到 HashSet 中 for (int num : arr) { set.add(num); } // 将 HashSet 转换为数组 int[] newArr = new int[set.size()]; int index = 0; for (int num : set) { newArr[index++] = num; } // 打印去重后的数组 System.out.println(Arrays.toString(newArr)); } }
2. 使用 Set API
Java 中提供了 Collections 类,其中包含一个名为 Set 的方法,可用于轻松地从数组中去除重复值。Set 方法返回一个不可变的 Set,其中包含该数组中的唯一元素。
import java.util.Arrays; import java.util.Collections; public class RemoveDuplicates { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; // 使用 Collections.Set 方法 int[] newArr = Arrays.stream(arr) .boxed() .distinct() .mapToInt(Integer::intValue) .toArray(); // 打印去重后的数组 System.out.println(Arrays.toString(newArr)); } }
3. 使用 Stream API
Java 8 中引入的 Stream API 也可用于去除数组中重复值。distinct() 方法可用于返回一个包含数组中唯一元素的 Stream。
import java.util.Arrays; import java.util.stream.Collectors; public class RemoveDuplicates { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; // 使用 Stream API int[] newArr = Arrays.stream(arr) .boxed() .distinct() .collect(Collectors.toList()) .stream() .mapToInt(Integer::intValue) .toArray(); // 打印去重后的数组 System.out.println(Arrays.toString(newArr)); } }
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。