合并列表中的重复项 [英] Merge duplicates in list

查看:87
本文介绍了合并列表中的重复项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些字符串的列表.我需要合并重复项并添加重复项计数器.例如:

I have a list of some strings. I need to merge dublicates and add counter of duplicates. For example:

list1.add("Mom");
list1.add("Mom");
list1.add("Son");
list1.add("Son");
list1.add("Dad");
list1.add("Dad");

合并并添加计数器

和输出必须是这样的:

Mom 2
Son 2
Dad 2

我还需要对这个新列表进行排序,但是我想我可以使用集合来做到这一点.

Also I need to sort this new list, but I think I can just use collections, to do that.

推荐答案

public static Map<String, Long> getValuesWithNumberOfOccurrences(
        List<String> list) {
    return list.stream()
               .collect(
                    Collectors.groupingBy(i -> i, HashMap::new,
                    Collectors.counting()));
}

这篇关于合并列表中的重复项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆