我有一个包含像这样的单词出现的树图...
TreeMap <String,Integer> occurrence = new TreeMap <String,Integer>();
String = Word
整数=发生的数量。
如何获得最大值 - 整数然后将String映射到最高值?
答案 0 :(得分:5)
您必须遍历地图并线性搜索。 TreeMap
按键排序,而不是值。
答案 1 :(得分:2)
您可以使用自定义比较器对Map的键集使用Collections.max
来获取最大的条目:
String highestOccurrence = Collections.max(occurrence.keySet(),
new Comparator<String>() {
public int compare(String a, String b) {
return occurrence.get(a).compareTo(occurrence.get(b));
}
});
这为你封装了迭代本身,但在幕后它仍然是一个线性搜索。