Java数组(基本数据类型)去重

一、写在前面

java中数组长度一旦确定不能改变,所以这里所谓去重,只是把不重复的搞到新数组中去。

二、参考代码

import java.util.Arrays;

//类名不要写中文
public class 数组去重 {
    public static void main(String[] args) {
        //1.需求:将数组中重复数字去重,搞到新数组中
        int[] arr = {1,2,3,4,5,2,4};
        //输出老数组内容
        System.out.println("老数组中内容:"+ Arrays.toString(arr));
        //2.创建一个新数组,存放arr中不重复的数字
        int[] newArr = new int[arr.length];
        //新数组添加元素的索引
        int index = 0;
        //3.循环动态给新数组赋值,去重
        for (int i = 0; i < arr.length; i++) {
            System.out.println("arr的第"+(i+1)+"个整数:"+arr[i]);
            //添加之前,先判断新数组中是否存在当前的数字arr[i]
            boolean isContain = isContain(newArr,arr[i]);
            if(!isContain){//不重复,添加当前遍历到的数字arr[i]
                newArr[index]=arr[i];
                index++;
            }else{//重复,做下提示,不添加
                System.out.println("当前数字重复了!");
            }
        }
        //输出新数组内容
        System.out.println("新数组中内容:"+ Arrays.toString(newArr));
        //4.把去重后的数组拷贝到结果数组中
        int[] result = new int[index];
        for (int i = 0; i < index; i++) {
            result[i] = newArr[i];
        }
        System.out.println("结果数组:"+Arrays.toString(result));
        
    }

    /**
     * 判断数组中是否包含当前元素
     * @param arr  被判断的数组
     * @param num  被判断的元素
     * @return
     */
    public static boolean isContain(int[] arr, int num) {
        //循环遍历
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] == num){//判断当前输入的数字是否已经在数组中存在
                return true;
            }
        }
        return false;
    }
}

三、运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值