java里怎么去除整数数组重复

ID:18755 / 打印
在 java 中去除整数数组中重复元素有以下两种方法:使用 set:将数组转换为 set,去除重复元素再转换回数组。使用 arrays.sort() 和双指针:先对数组排序,然后使用双指针扫描数组,跳过重复元素,将去重元素填入新数组。

java里怎么去除整数数组重复

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怎么将数组里的数排序
下一篇: java怎么把二维数组输出

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

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

与本文相关文章

发表评论:

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