首页  >  文章  >  Java  >  如何使用 Java Streams 计算列表中字符串的出现次数?

如何使用 Java Streams 计算列表中字符串的出现次数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-11 06:39:02635浏览

How Can I Count String Occurrences in a List Using Java Streams?

使用 groupBy 计算出现次数

Java 流中的 groupBy 方法允许我们根据指定的键将元素收集到组中。在本例中,我们希望按字符串的值对字符串进行分组,并计算每个组中的出现次数。

为了实现此目的,我们可以使用需要第二个收集器的 groupBy 重载。我们将提供 Collectors.counting() 作为此收集器,它将计算每个组中的元素。

以下是使用流实现此操作的方法:

import java.util.*;
import java.util.stream.*;

class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        list.add("Hello");
        list.add("Hello");
        list.add("World");

        Map<String, Long> counted = list.stream()
            .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

        System.out.println(counted);
    }
}

这将产生以下结果输出:

{Hello=2, World=1}

映射包含两个条目,“Hello”映射到 2,“World”映射到 1。这表示输入列表中每个单词出现的次数。

注意,我们还可以使用 groupingByConcurrent 来提高效率,特别是在并发执行安全的场景下。

以上是如何使用 Java Streams 计算列表中字符串的出现次数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn