У меня есть HashMap<String, ArrayList<String>> professions
, и я хочу создать SortedMap<String, Integer>
, где первая запись - это строка, аналогичная первой записи в хэш-карте, а вторая запись - это целое число, равное размеру ArrayList в первом карта, соответствующая строке. Я также хочу, чтобы sortedMap сортировался по первой записи (строке).
Я попробовал следующее:
professions.entrySet().stream()
.collect(Collectors.groupingBy(e -> e.getKey(), TreeMap::new,
Collectors.mapping(e -> e.getValue().size()));
Затмение говорит мне The method mapping(Function<? super T,? extends U>, Collector<? super U,A,R>) in the type Collectors is not applicable for the arguments ((<no type> e) -> {})
, а также The method getValue() is undefined for the type T
.
Я не уверен, что мое решение вообще неверно, или это просто затмение, которое не может определить тип.