от
У меня есть список
StatisticsItem
(
String context, Integer numberOfHits, String yyyyMM
). Примером экземпляра является
context=WEBSITE, numberOfHits=12456, yyyyMM="2019.

Я хочу получить отсортированный Map
, который имеет в качестве ключа дату yyyyMM и в качестве значения агрегированное количество хитов за этот месяц. Я пытаюсь такого рода код, но я не могу заполнить пробелы:
Map collect = 
      list.stream()
          .sorted((s1, s2) 

Вход:

{context="WEBSITE", numberOfHits=500, yyyyMM="2019

Требуемый вывод (контекст может быть нулевым или любым другим в этом случае):

{context=null, numberOfHits=5900, yyyyMM="2019
    

        

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

2 Ответы

0 голосов
от
Вы можете просто сгруппировать по полю даты.
list.stream().groupingBy(StatisticsItem::getYyyyMM, 
              Collectors.mapping(StatisticsItem::getNumberOfHits, Collectors.summingInt(Integer::intValue)))
Тогда у вас есть
Map
0 голосов
от
Кажется, вам действительно нужен
Collection
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...