java8 的stream map 排序 記錄下

Map<Integer, Integer> keywordTimes = new HashMap<>();

keywordTimes.put(1,2);

keywordTimes.put(2,3);

keywordTimes.put(4,5);

keywordTimes.put(3,4);

//返回匹配度最高的即 關鍵詞匹配最多的 先按升序排序
Map<Integer,Integer> sortMap = keywordTimes
        .entrySet()
        .stream()
        .sorted(Collections.reverseOrder(comparingByValue()))
        .collect(
                Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1,e2)->e2,
                        LinkedHashMap::new)
        );

//降序

Map<Integer,Integer> sortMap = keywordTimes .entrySet() .stream() .sorted(comparingByValue()) .collect( Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1,e2)->e2, LinkedHashMap::new) );

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章