Создайте карту, которая содержит информацию о коллекции объектов - PullRequest
0 голосов
/ 15 мая 2018

У меня есть коллекция "Школа";класс предоставляет метод "getDescription" (String).Мне нужно создать Map <String, Long>, который содержит для каждого описания количество школ с таким описанием, используя потоки.Я сделал следующее:

Stream<School> school = getSchools().stream();  // getSchools returns the colletion

Map<String, Long> m = school.collect(toMap(School::getDescription, 
        groupingBy(School::getDescription, counting())));

Но это не работает ... какие-либо советы?

1 Ответ

0 голосов
/ 15 мая 2018

Вы на правильном пути.Попробуйте это:

Map<String, Long> m = 
     school.collect(groupingBy(School::getDescription, counting()));

Ваш оригинальный код:

school.collect(toMap(School::getDescription,   //
    groupingBy(School::getDescription, counting())));

приведет к ошибке компиляции, потому что toMap() принимает 2-й параметр в качестве функции отображения значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...