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();
}
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();
}