У меня есть Stream of Cars с определенным количеством hp и набором hp intervalls.Теперь мне нужно сохранить интервал hp со всеми автомобилями на карте.
Map<hpIntervall, Set<car>>
Класс HPIntervall
получил fromHP
и toHP
int, поэтому я могу получить их с .getTo()
и .getFrom()
.
Я уже попробовал stream.collect(Collectors.groupBy())
, но мне кажется, что я неправильно понимаю синтаксис.Может кто-нибудь дать мне подход?
public static Map<HPIntervall, Set<Car>> groupCarsByHP(Stream<Car> cars,
Set<HPIntervall> hpIntervalls) {
return cars.collect(Collectors.groupingBy(c -> {
for (HPIntervall hpInt : hpintervalls) {
if (c.getHP() >= ic.fromHP() && c.getHP() <= ic.toHP()) {
return hpInt;
}
}
return null;
}, Collectors.toSet()));
}
}