Cześć, potrzebuje wyciągnąć informacja z pewnej ArrayListy.
Mam listę produktów List<Product> products. Może zawierać wiele wystąpień tych samych produktów. Chcę poprzez strumień stworzyć mapę Map<Product, Integer> która przedstawiać ma ile razy każdy z produktów występuje w liście. Nakierujecie co pokolei ??
0
3
Masz gotowe funkcje groupBy, która wszystko załatwia bez wysiłku.
Użyj na streamie collect() i w tej metodzie podaj Collectors.groupBy()
1
Dwa collecotry beda potrzebna, groupBy i counting
1
Możesz też użyć Collectors.toMap() z merge function
0
Dzięki za przypomnienie :) I znów utknąłem. Z Mapy Map<Product, Integer> czyli produkt gdzie jest cena i Integer zawiera ilość. Muszę wyliczyć łączny koszt zakupów.
1
No i gdzie problem? o_O mapujesz entry z tej mapy do cena*ilość
a potem robisz collector summing
2
@manifestor: radziłbym na spokojnie przysiąść i pouczyc się tego stream Api, bo to są podstawy. No offence oczywiście.