Java有N个数字的int类型数组,如何获取数量最多并且数字最大的数以及数量

//转载请说明出处----->Java原子弹

本文来自

public static void main(String[] args) {
        //原数组
        int[] nums = { 4, 4,10, 10,5, 5, 8, 8, 6 };
        // 重复次数
        int[] count = new int[nums.length];
        // 已经存在
        int[] isexists = new int[nums.length];
        //存入信息
        int index = 0;
        for (int i = 0; i < nums.length; i++) {
            boolean flag = false;

            for (int j = 0; j < isexists.length; j++) {
                if (nums[i] == isexists[j]) {
                    flag = true;
                }
            }
            if (!flag) {
                isexists[index] = nums[i];
                index++;
            }
        }

        //存入数量
        for (int i = 0; i < isexists.length; i++) {

            int nowcount = 0;
            for (int j = 0; j < nums.length; j++) {

                if (isexists[i] == nums[j]) {
                    nowcount++;
                }
            }
            count[i] = nowcount;
        }

        //获得最大的数量
        int maxcount = 0;
        for (int s = 0; s < count.length; s++) {
            if (count[s] >= maxcount) {
                maxcount = count[s];
               
            }
        }
       
        //获得最大的数字
        int maxnum=0;
        for (int i = 0; i < isexists.length; i++) {
            for (int j = 0; j < count.length; j++) {
                if(count[i]==maxcount)
                {
                    if(isexists[i]>maxnum)
                    {
                        maxnum=isexists[i];
                    }
                }
            }
        }
        //获得最大数量
        System.out.print(maxcount+"/t");
        System.out.println(maxnum);

       

    }