/** * 通过map 的 value 排序,并返回排序后的第一个条目 * * @param m 待排序集合 * @param desc true:降序排序,false:升序排序 * @return 返回排序后的第一个条目 * */ public Entry<String, Integer> getFristEntryOfSortedMap(Map<String, Integer> m , boolean desc) { Entry<String, Integer> entry = null; if (m != null && !m.isEmpty()) { List<Entry<String, Integer>> entryList = new ArrayList<Entry<String, Integer>>(m.entrySet()); if(desc){ Collections.sort(entryList, new Comparator<Entry<String, Integer>>() { public int compare(Entry<String, Integer> e1, Entry<String, Integer> e2) { int v1 = 0, v2 = 0; v1 = e1.getValue() == null ? 0 : e1.getValue(); v2 = e2.getValue() == null ? 0 : e2.getValue(); return v2 - v1; } }); }else{ Collections.sort(entryList, new Comparator<Entry<String, Integer>>() { public int compare(Entry<String, Integer> e1, Entry<String, Integer> e2) { int v1 = 0, v2 = 0; v1 = e1.getValue() == null ? 0 : e1.getValue(); v2 = e2.getValue() == null ? 0 : e2.getValue(); return v1 - v2; } }); } Iterator<Entry<String, Integer>> it = entryList.iterator(); if (it.hasNext()) { entry = it.next(); } } return entry; }
时间: 2024-10-05 07:29:34