map根據其value值進行排序
阿新 • • 發佈:2019-01-09
/** * 根據value對map進行排序 */ public Map sortAllMapByValue(Map map) { // 這裡將map.entrySet()轉換成list List> list = new ArrayList>(map.entrySet()); // 然後通過比較器來實現排序 Collections.sort(list,new Comparator>() { // 降序排序 public int compare(Entry o1, Entry o2) { return o2.getValue().compareTo(o1.getValue()); } }); // 存入新的map返回 Map newMap = new LinkedHashMap(); Iterator> iter = list.iterator(); Map.Entry tmpEntry = null; int count = 0; while (iter.hasNext()) { tmpEntry = iter.next(); count++; if (count > 100) { // 最多存入100個關鍵詞 iter.remove(); } else { newMap.put(tmpEntry.getKey(), tmpEntry.getValue()); } } return newMap; }