Stream API получить сумму всех ключей Map

Почему-то не получается посчитать сумму всех ключей

 Man vasia = new Man("vasia", "Pupkin", 2, 24, odessa);
 Man olaf = new Man("olaf", "olaf", 2, 24, moskov);
...

надо посчитать сумму всех детей у пользователей Я написал так, но x.get(x) нет возможности выбрать,не пойму почему.

 final Map<Integer, List<Man>> coll = manLinkedList.stream()
                .collect(Collectors.groupingBy(Man::getCountOfChildren));

        int sum = coll.keySet().stream().mapToInt(x -> почему тут не могу испольховать x.get(x) + x ).sum();

        System.out.println(sum);

Ответы (1 шт):

Автор решения: Дмитрий

Вам не нужен Map, все на много проще:

int sum = manLinkedList.stream().mapToInt(Man::getCountOfChildren).sum();

И еще... Если у вас нет весомых аргументов для использования LinkedList откажитесь от него в пользу ArrayList. Не забывайте, что LinkedList является двусвязным списком, соответственно, каждый его элемент - полноценная нода со всеми вытекающими. Посему при использовании ArrayList вы в подавляющем большинстве случаев выиграете.

→ Ссылка