美文网首页
随机生成1-50内,100个数字 统计每个数字的次数 ,并根据出

随机生成1-50内,100个数字 统计每个数字的次数 ,并根据出

作者: 煗NUAN | 来源:发表于2020-05-08 09:40 被阅读0次

随机生成1-50内,100个数字 统计每个数字的次数 ,并根据出现的次数排序

import java.util.*;

public class NumberTest {
    public static void main(String[] args) {
        //1-50内,100个数字 统计每个数字的次数  ,并根据value排序

        Random random=new Random();
        //新建list集合,用来存放随机生成的数字
        List<Integer> num=new ArrayList<>();

        //将随机生成的数字放到list集合中
        for (int i = 0; i < 100; i++) {
            int rnum = random.nextInt(51);
            num.add(rnum);
        }

        //打印list集合
        System.out.println(num.toString());

        //新建map集合,统计每个数字出现的次数
        Map<Integer,Integer> map=new TreeMap<>();
        //统计每个数组出现的次数
        for (int i = 0; i < num.size(); i++) {
            int n1 = num.get(i);
            if (map.get(n1)==null){
                map.put(n1,1);
            }else {
                int n = map.get(n1);
                map.put(n1,n+1);
            }
        }
        //遍历map集合,打印每个数字出现的次数
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            Integer key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key+"出现的次数是"+value);
        }
        

        //根据map集合中value的值对key进行排序

        //这里将map..entrySet()转为list
        List<Map.Entry<Integer, Integer>> list=new ArrayList<>(map.entrySet());
        //然后通过比较器来实现排序
        Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
            @Override
            public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {
                return o1.getValue().compareTo(o2.getValue());
            }
        });
        //新建一个list集合,存放排序后的key
        List<Integer> asc=new ArrayList<>();
        //遍历排序后的list对象,并提取出list集合中每一个map对象的key
        for (Map.Entry<Integer, Integer> entry : list) {
            asc.add(entry.getKey());
        }
        //打印排序后key
        System.out.println(asc.toString());
    }
}

相关文章

网友评论

      本文标题:随机生成1-50内,100个数字 统计每个数字的次数 ,并根据出

      本文链接:https://www.haomeiwen.com/subject/fhuxnhtx.html