Кроме того, поскольку вы не работаете с ключами карты, вы можете избежать вызова entrySet () и вместо этого работать со значениями карты:

ие следующей оригинальной карты:

G1=[7,8,45,6,9]
G2=[3,9,34,2,1,65]
G3=[6,5,9,1,67,5]

Где G1, G2 и G3 - группы возрастов людей. Как я могу создать новую карту следующим образом:

45=[7,8,45,6,9]
65=[3,9,34,2,1,65]
67=[6,5,9,1,67,5]

Где новые ключи - это максимальный возраст людей в каждой группе.

Я попробовал это:

Map<Integer, List<Integer>> newMap = originalMap.entrySet().stream()
                .collect(Collectors.toMap(Collections.max(x -> x.getValue()), x -> x.getValue()));

Но компилятор говорит мне: «Целевой тип этого выражения должен быть функциональным интерфейсом» в этом фрагменте кода:

Collections.max(x -> x.getValue())

Любая помощь с этим будет оценена.

Ответы на вопрос(1)

Ваш ответ на вопрос