Java实现数组去重

2018-10-15  本文已影响0人  多听音乐多喝水

思路就是新建一个数组,把原数组的元素赋进去,再去除因此产生的0。

import java.util.Arrays;

public class Solution {

public static void main(String[] args) {
    int[] array1 = {1,2,3,4,4};
    int[] array2 = {3,1,4,1,5,9,2,6,5,3,5,8,9,3,9};
    int[] array3 = {1,1,1,1};
    showNonDuplicateArray(array1);
    showNonDuplicateArray(array2);
    showNonDuplicateArray(array3);
}


public static void showNonDuplicateArray(int[] a) {
    int[] newArr = new int[a.length];

    int index = 0; // 新数组存储元素索引(或者说无重复的个数)

    outer: for (int i = 0; i < a.length; i++) {
        for (int j = i + 1; j < a.length; j++) {
            //当数据重复时,跳出外圈循环
            if (a[i] == a[j]) {
                continue outer;
            }
        }
        // 后面没有与当前元素重复的值,保存这个数
        newArr[index] = a[i];
        index++;
    }
    // 新数组中存储着无重复的值和后面一些0
    int[] result = new int[index];
    for (int i = 0; i < index; i++) { // 遍历有效值个数
        result[i] = newArr[i];
    }
    System.out.println(Arrays.toString(result));


}

}
上一篇 下一篇

猜你喜欢

热点阅读