判断数组中是否存在重复的元素(java与js)

    xiaoxiao2021-04-18  52

          我们经常遇到这样的问题,判断一个数组中是否含有重复的元素,解决的办法通常有许多种,这里介绍一种常用的思路。

     

          判断数组中元素是否重复,则需要对数组中的元素进行两两比较,如果有任意一组元素相等,则该数组中的元素存在重复,如果任意一组元素都不想等,则表示数组中的元素不重复。

    实现思路:我们假设数组中的元素不重复,两两比较数组中的元素,使用数组中的第一个元素和后续所有元素比较,接着使用数组中的第二个元素和后续元素比较,依次类推实现两两比较,如果有一组元素相同,则数组中存储重复,结束循环。把比较的结果存储在一个标志变量里,最后判断标志变量的值即可。

     

     

    /** * 判断整型数组中是否含有重复的元素 * @param arr */ private void checkIsRepeat(int[] arr){ boolean flag = true; //假设不重复 for(int i = 0;i < arr.length-1;i++){ //循环开始元素 for(int j = i + 1;j < arr.length;j++){ //循环后续所有元素 //如果相等,则重复 if(arr[i] == arr[j]){ flag = false; //设置标志变量为重复 System.out.println("重复的值为:"+arr[i]); break; //结束循环 } } } //判断标志变量 if(flag){ System.out.println("数组没有重复的元素"); }else{ System.out.println("数组含有重复的元素"); } }

     

     

     

     

     

    运行一下程序,看结果如何

    这里初始化了两个数组,其中一组含有重复元素,别一组不含,输出结果显示符合预期。

    js版本

    //检查人员id是否有重复 function checkDataRepeat(arr){ var falg = false; //默认不重复 for(var i = 0; i< arr.length-1;i++){ for(var j =i+1 ;j<arr.length;j++){ if(arr[i].userId == arr[j].userId ){ falg = true; //重复 console.log('成员信息有重复,重复的 userId:'+arr[i].userId); break; } } } return falg; },

     

    转载请注明原文地址: https://ju.6miu.com/read-674664.html

    最新回复(0)