Jak zrobić takie Collectors.groupingBy?

0

Ma sobie strumień, którego elementami są obiekty typu List<Integer>

Mam też funkcję, która przerabia taką listę na inny typ, powiedzmy:

public Color convert(List<Integer> numbers);

Chcę teraz ten mój strumień list przerobić na mapę typu:

Map<Integer, List<Color>>

Kluczem ma być długość wejściowej list integerów, a wartością to, lista, do której będą dodawane kolejne wyniki wykonania funkcji convert na wejściowej liście.

Próbowałem to ugryźć z różnych stron, ale nie daję rady. Nie wiem jak zastosować tą funkcję convert, żeby otrzymać oczekiwany rezultat.
Będę wdzięczny za pomoc w temacie.

0

Pogrzebałem jeszcze trochę i 2,5 godziny późnej mam takie rozwiązanie:

myStream.collect(Collectors.groupingBy(List::size, Collectors.mapping(this::convert, Collectors.toList())));

I to chyba właśnie to, o co mi chodziło. Zatem temat do zamknięcia.

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