вхождение - TreeMap - PullRequest
       16

вхождение - TreeMap

1 голос
/ 21 октября 2011

У меня есть древовидная карта, содержащая вхождение слов вроде этого ...

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

String = Word

Integer = количество вхождений.

Как бы я получитьмаксимальное вхождение - целое число, а затем сопоставить строку с наибольшим вхождением?

Ответы [ 2 ]

5 голосов
/ 21 октября 2011

Вам придется перебирать карту и искать ее линейно.TreeMap сортируется по ключам, а не по значениям.

2 голосов
/ 21 октября 2011

Вы можете использовать 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));
    }
});

Это инкапсулирует саму итерацию для вас, но за кадром это все равно будет линейный поиск.

...