java里怎么去除整数数组重复
在 java 中去除整数数组中重复元素有以下两种方法:使用 set:将数组转换为 set,去除重复元素再转换回数组。使用 arrays.sort() 和双指针:先对数组排序,然后使用双指针扫描数组,跳过重复元素,将去重元素填入新数组。
Java 中去除整数数组中重复元素的方法
使用 Set
- 使用 HashSet 或 TreeSet 等 Set 类型的数据结构,它们天然具有去除重复元素的特性。
- 将整数数组转换为 Set,这样会自动去除重复元素。
- 然后将其转换回整数数组即可。
import java.util.Arrays; import java.util.HashSet; import java.util.Set; class Solution { public int[] removeDuplicates(int[] nums) { Set<Integer> set = new HashSet<>(Arrays.asList(nums)); return set.stream().mapToInt(i -> i).toArray(); } }
使用 Arrays.sort() 和双指针
- 首先对数组进行排序,这样重复元素会相邻排列。
- 使用两个指针 i 和 j。i 指向当前元素,j 指向去重后的数组中的下一个空位置。
- 当 i 和 j 所指向的元素相等时,跳过 i 直到它指向不同的元素。
- 当 i 和 j 所指向的元素不同时,将 j 所指向的元素替换为 i 所指向的元素,并向右移动 j。
import java.util.Arrays; class Solution { public int[] removeDuplicates(int[] nums) { if (nums.length == 0) { return nums; } Arrays.sort(nums); int i = 0, j = 1; while (j < nums.length) { if (nums[i] == nums[j]) { j++; } else { nums[j++] = nums[i++]; } } return Arrays.copyOfRange(nums, 0, j); } }
以上就是java里怎么去除整数数组重复的详细内容,更多请关注硕下网其它相关文章!