假设我有一个很长的字符串列表。我想计算每个字符串出现的次数。我不知道字符串的数量和类型(意味着:我没有所有可能字符串的字典)
我的第一个想法是创建一个 Map 并在每次再次找到 key 时增加整数。
但这感觉有点笨拙。有没有更好的方法来计算这些字符串的所有出现次数?
最佳答案
从 Java 8 开始,最简单的方法是使用流:
Map<String, Long> counts =
list.stream().collect(
Collectors.groupingBy(
Function.identity(), Collectors.counting()));
在 Java 8 之前,您当前概述的方法工作得很好。 (Java 8+ 方式也基本上做同样的事情,只是语法更简洁)。
关于java - 计算字符串出现次数的最佳方式/数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52160271/