Мне нужно решить упражнение. У меня есть класс Fox, в котором есть поля имени и цвета. Мое упражнение - найти частоту лисиц по цвету.
Таким образом, я создал HashMap, где атрибут String будет именем лисы, а Integer будет самим вхождением:
Map<String, Integer> freq = new HashMap<>();
Сделав это, я пытался написать код с потоками, но я изо всех сил пытаюсь это сделать. Я написал что-то вроде этого:
foxes.stream()
.map(Fox::getColor)
.forEach()
//...(continued later on);
, где лисы - это список.
Моя проблема в основном с синтаксисом. Я хотел бы сделать что-то, что если у цвета нет вхождений, то
freq.put(Fox::getName, 1)
еще
freq.replace(Fox::getName, freq.get(Fox::getName) + 1)
Как мне это собрать?