map获取最大值value和其对应的key

public String getMaxStr(Map<String, Integer> map) {


int maxV = 0;
String maxK = null;
String maxK_mayberemove = null;// 中间值,用于保存每次存在的最大值键,但存在下个值比他大,可用他移除掉,替换成最新的值
Map<String, Integer> map2 = new TreeMap();
Iterator keys = map.keySet().iterator();
while (keys.hasNext()) {
Object key = keys.next();
maxK = key.toString();
int value = map.get(key);
if (value > maxV) {


if (null != maxK_mayberemove) {
map2.clear();
}


maxV = value;


map2.put(maxK, maxV);
maxK_mayberemove = maxK;
} else if (value == maxV) {
map2.put(maxK, maxV);
}
}
System.out.println(map2);

                //这一步是额外操做,上面的map2已经取出结果了 Iterator keys2 = map2.keySet().iterator(); StringBuffer buffer = new StringBuffer(); while (keys2.hasNext()) { Object key = keys2.next(); maxK = key.toString(); int value = map.get(key); String[] maxKey = maxK.split("_"); buffer.append(maxKey[0].replace("\"", "") + ":" + value + "</br>"); } return buffer.toString(); }