在 Java 数组中去重复数据有三种方法:使用 set 将元素添加到集合并转换为数组;利用 arrays.stream().distinct() 创建去重元素流并转换为数组;通过循环和 set 检查元素是否存在于集合中并创建新数组。
如何在 Java 数组中去重复数据
在 Java 中,可以使用以下方法在数组中去重复数据:
1. 使用 Set
Set 是一个集合,它不允许出现重复元素。可以将数组元素添加到 Set 中,然后再将其转换为数组。
立即学习“Java免费学习笔记(深入)”;
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; Set<Integer> set = new HashSet<>(); for (int i : arr) { set.add(i); } int[] newArr = set.stream().mapToInt(Integer::intValue).toArray();
2. 使用 Arrays.stream().distinct()
Arrays.stream().distinct() 方法可以创建一个包含数组中去重元素的新流。
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; int[] newArr = Arrays.stream(arr).distinct().toArray();
3. 使用循环和 Set
这种方法与使用 Set 相似,但使用循环来检查每个元素是否已经存在于 Set 中。
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3}; Set<Integer> set = new HashSet<>(); int[] newArr = new int[arr.length]; int index = 0; for (int i : arr) { if (!set.contains(i)) { set.add(i); newArr[index++] = i; } }
上面这三种方法都可以有效地从数组中去重复数据,选择哪种方法取决于具体需求和性能考虑因素。