发生 - TreeMap

时间:2011-10-21 17:40:37

标签: java data-structures treemap

我有一个包含像这样的单词出现的树图...

TreeMap <String,Integer> occurrence = new TreeMap <String,Integer>();

String = Word

整数=发生的数量。

如何获得最大值 - 整数然后将String映射到最高值?

2 个答案:

答案 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));
    }
});

这为你封装了迭代本身,但在幕后它仍然是一个线性搜索。