Java strumienie

0

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 ??

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1