隨機生成1-50內(nèi),100個數(shù)字 統(tǒng)計每個數(shù)字的次數(shù) ,并根據(jù)出現(xiàn)的次數(shù)排序

隨機生成1-50內(nèi),100個數(shù)字 統(tǒng)計每個數(shù)字的次數(shù) ,并根據(jù)出現(xiàn)的次數(shù)排序

import java.util.*;

public class NumberTest {
    public static void main(String[] args) {
        //1-50內(nèi),100個數(shù)字 統(tǒng)計每個數(shù)字的次數(shù)  ,并根據(jù)value排序

        Random random=new Random();
        //新建list集合,用來存放隨機生成的數(shù)字
        List<Integer> num=new ArrayList<>();

        //將隨機生成的數(shù)字放到list集合中
        for (int i = 0; i < 100; i++) {
            int rnum = random.nextInt(51);
            num.add(rnum);
        }

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

        //新建map集合,統(tǒng)計每個數(shù)字出現(xiàn)的次數(shù)
        Map<Integer,Integer> map=new TreeMap<>();
        //統(tǒng)計每個數(shù)組出現(xiàn)的次數(shù)
        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集合,打印每個數(shù)字出現(xiàn)的次數(shù)
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            Integer key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key+"出現(xiàn)的次數(shù)是"+value);
        }
        

        //根據(jù)map集合中value的值對key進行排序

        //這里將map..entrySet()轉(zhuǎn)為list
        List<Map.Entry<Integer, Integer>> list=new ArrayList<>(map.entrySet());
        //然后通過比較器來實現(xiàn)排序
        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());
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容