Как объединить List<String>
во время groupingBy
?
Учитывая список пользовательских объектов EligibilityRequest
, где есть несколько дубликатов, мне нужно сгруппировать те экземпляры EligibilityRequest
, которые равныа затем объединить в список String определенное свойство, которое не способствует методу Equals
.
Вот подробности:
public class EligibilityRequest {
private String channel; // it's part of Equals
...
private List<String> productCodes // it's not part of Equals and need to be aggregated within instance of EligibilityRequest "equal"
}
Я попробовал следующее:
Map<EligibilityRequest, List<String>> uniqueEligibilityRequests = new HashMap<>();
uniqueEligibilityRequests = requests.stream()
.collect(groupingBy(request -> request,
Collectors.mapping(request -> request.getProductsCode(), toList())
));
Работает до тех пор, пока productCodes
представляет строку вместо List<String>
.Я не могу понять, как объединить различные List<String>
вместо этого в groupingBy
.
Может ли кто-то там помочь?
С уважением, Винченцо