Having the next original map:
G1=[7,8,45,6,9]
G2=[3,9,34,2,1,65]
G3=[6,5,9,1,67,5]
Where G1, G2 and G3 are groups of people\'s ages, How ca
toMap consumes function for it's keyMapper
and valueMapper
. You're doing this correctly for the valueMapper
in your code but not for the keyMapper
thus you need to include the keyMapper
function as follows:
originalMap.entrySet()
.stream()
.collect(toMap(e -> Collections.max(e.getValue()), Map.Entry::getValue));
note the e -> Collections.max(e.getValue())
.
Further, since you're not working with the map keys, you can avoid having to call entrySet() and instead work on the map values:
originalMap.values()
.stream()
.collect(Collectors.toMap(Collections::max, Function.identity()));