栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用Java计算句子中每个单词的频率

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用Java计算句子中每个单词的频率

使用以单词为键的地图并将其计为值,像这样

    Map<String, Integer> map = new HashMap<>();    for (String w : words) {        Integer n = map.get(w);        n = (n == null) ? 1 : ++n;        map.put(w, n);    }

如果不允许使用java.util,则可以使用一些排序算法对arr进行排序,并执行此操作

    String[] words = new String[arr.length];    int[] counts = new int[arr.length];    words[0] = words[0];    counts[0] = 1;    for (int i = 1, j = 0; i < arr.length; i++) {        if (words[j].equals(arr[i])) { counts[j]++;        } else { j++; words[j] = arr[i]; counts[j] = 1;        }    }

从Java 8开始使用ConcurrentHashMap的有趣解决方案

    ConcurrentMap<String, Integer> m = new ConcurrentHashMap<>();    m.compute("x", (k, v) -> v == null ? 1 : v + 1);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486237.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号