java中查找数组中重复元素和重复元素的个数

java查找数组中重复元素和重复元素的个数

本人前几天面试,被问到一个简单的问题:查找数组中重复元素和重复元素的个数 当时回答的很不完美,面试官说可以用map一层循环就可以解决 ,当时没有想明白,事后想了一下,特此在此记录一下。第一次写博客 ,有什么不对的地方,还请各位大佬指正。

问题

直接上代码

public static void main(String[] args) {
        Random random = new Random();
        int[] arr = new int[20];
        for (int i = 0; i < 20; i++) {
            arr[i] = random.nextInt(10);
            System.out.print(arr[i] + ",");
        }
        //System.out.println();
        //输出arr数组中重复元素,重复数量
        }

看着是不是很简单

我想出了两个解决办法
方法一:用的是数组 两层循环解决
方法二:用的map 一层循环解决


//方法  一
        for (int x = 0; x < 10; x++) {
            int sumber1 = 0;
            for (int j = 0; j < 20; j++) {
                //数组中的数循环比较
                if (x == arr[j]) {
                    sumber1++;
                } else {
                    continue;
                }
            }
            System.out.println(x + "重复的个数为" + sumber1);
        }

方法一输出的结果!在这里插入图片描述

//方法二
 //将数据转成集合
        Map<Integer, Integer> map = new HashMap();
        for (int a = 0; a < arr.length; a++) {
           if (map.get(arr[a])!=null){
               map.put(arr[a],map.get(arr[a])+1);
           }
           else {
               map.put(arr[a],1);
           }
        }
        for (int i = 0; i <10 ; i++) {
            System.out.println(i+"重复的个数为"+map.get(i));
        }

在这里插入图片描述

链接: https://blog.csdn.net/weixin_43165750/article/details/105467310.

原创文章 2 获赞 3 访问量 199

猜你喜欢

转载自blog.csdn.net/weixin_43165750/article/details/105467310