字符串列表中单词的出现频率

VeilEclipse

我有一个字符串列表:

List<String> terms = ["Coding is great", "Search Engines are great", "Google is a nice search engine"]

如何获得列表中每个单词的频率:例如{Coding:1, Search:2, Engines:1, engine:1, ....}

这是我的代码:

    Map<String, Integer> wordFreqMap = new HashMap<>(); 
    for (String contextTerm : term.getContexTerms()  ) 
                {
                    String[] wordsArr = contextTerm.split(" ");
                    for (String  word : wordsArr) 
                    {
                        Integer freq = wordFreqMap.get(word); //this line is getting reset every time I goto a new COntexTerm
                        freq = (freq == null) ? 1: ++freq;
                        wordFreqMap.put(word, freq);
                    }
                }
马可13

Java 8流的惯用解决方案:

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class SplitWordCount
{
    public static void main(String[] args)
    {
        List<String> terms = Arrays.asList(
            "Coding is great",
            "Search Engines are great",
            "Google is a nice search engine");

        Map<String, Integer> result = terms.parallelStream().
            flatMap(s -> Arrays.asList(s.split(" ")).stream()).
            collect(Collectors.toConcurrentMap(
                w -> w.toLowerCase(), w -> 1, Integer::sum));
        System.out.println(result);
    }
}

请注意,您可能必须考虑字符串的大写/小写是否起作用。这会将字符串转换为小写,并将其用作最终映射的键。结果是:

{coding=1, a=1, search=2, are=1, engine=1, engines=1, 
     is=2, google=1, great=2, nice=1}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

计算字符串列表中单词的出现

字符串中单词的出现频率

使用Java8计算字符串列表中每个单词的频率

按出现频率对(嵌套的)字符串列表进行排序

计算列表中单词出现在字符串中的频率

如何从Python的字符串列表中获得最经常出现的单词?

计算熊猫中字符串列中单词的出现

如何从字符串列表中删除单词列表?

按频率过滤字符串列表

获取包含字符串列表的pandas列的单词频率

如何使用 Counter 在字符串列表中找到单词的频率?

如何检查字符串列表中的多个单词?

在数据框字符串列中查找单词列表

从Kotlin的字符串列表中删除单词

从字符串列表中查找最常用的单词

如何从字符串列表中删除单词?

字符串列表中的频繁出现的Python列表

字符串列表到单词列表

计算文本中字符串列表的出现次数

如何查找ML字符串列表中的出现次数?

从数据集中的字符串列表中查找出现

计算字典列表中单词的出现频率

用JSON中的字符串列表替换单词中的多个相等字符串

正则表达式:在段落中出现任何字符串列表后,删除任何单词中的后缀字符串

如何获取在字符串列表中出现多次的单词的索引

如何计算Python3中未排序的字符串列表中元素的频率?

如何在字符串列表中获取最多三个单词的字符串

通过推文的熊猫字符串列中的单词列表查找子字符串

Dart:按频率对字符串列表进行排序