Вы пытаетесь добавить ключи (типа String
) к записи Set
(которая содержит элементы типа Map.Entry<String,Integer>
).В этом причина ошибки.
Однако, даже если типы совпадают, вам не следует изменять запись Set
в Map
(если только вы не хотите изменить базовый Map
).
Вы должны создать отдельный Set
для хранения соответствующих ключей:
Set<String> set = new HashSet<>();
System.out.println();
Iterator<Map.Entry<String, Integer>> i = map.entrySet().iterator();
while (i.hasNext() ) {
Map.Entry<String,Integer> e = i.next();
if(e.getValue() > m) {
set.add(e.getKey());
}
}
Я удалил ваш оператор println
из цикла, так как он продвигал Iterator
aвторой раз в той же итерации, что неправильно.