Java 清除数组相同元素

Posted 随行-LV

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 清除数组相同元素相关的知识,希望对你有一定的参考价值。

 

定义一个函数清除该数组的重复元素,返回一个不能浪费长度的数组.
代码如下:

import java.util.*;
public class demo1 {
    public static void main(String[] args) {        
        int[] arr = {11, 2, 4, 2, 10, 11};
        arr = clearRepeat(arr);
        System.out.println("清除重复元素的数组:" + Arrays.toString(arr));
        
    }
    public static int[] clearRepeat(int[] arr) {
        int count = 0;// 记录重复元素个数
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] == arr[j]) {
                    count++;
                    break;
                }
            }
        }
        int newLength = arr.length - count;
        int[] newArr = new int[newLength];
        int index = 0;
        for (int i = 0; i < arr.length; i++) {
            int temp = arr[i];
            boolean flag = false;
            for (int j = 0; j < newArr.length; j++) {
                if (temp == newArr[j]) {
                    flag = true;
                    break;
                }
            }
            if (flag == false) {
                newArr[index++] = temp;
            }
        }
        return newArr;
    }
}
import java.util.*;
public class demo1 {
    public static void main(String[] args) {        
        int[] arr = {11, 2, 4, 2, 10, 11};
        arr = clearRepeat(arr);
        System.out.println("清除重复元素的数组:" + Arrays.toString(arr));
        
    }
    public static int[] clearRepeat(int[] arr) {
        int count = 0;// 记录重复元素个数
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] == arr[j]) {
                    count++;
                    break;
                }
            }
        }
        int newLength = arr.length - count;
        int[] newArr = new int[newLength];
        int index = 0;
        for (int i = 0; i < arr.length; i++) {
            int temp = arr[i];
            boolean flag = false;
            for (int j = 0; j < newArr.length; j++) {
                if (temp == newArr[j]) {
                    flag = true;
                    break;
                }
            }
            if (flag == false) {
                newArr[index++] = temp;
            }
        }
        return newArr;
    }
}

 


以上是关于Java 清除数组相同元素的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用相同的布局动态创建片段并向它们显示数据?

为什么我不能在此片段中生成唯一对象数组?

解释'空'C数组(int a = {};)

C#通过Array.Clear部分清除数组的代码

java怎么判断数组中有重复的元素

翻转数组