java - Java 计算字符串中每个单词的数量

标签 java

我需要制作一个从标准输入读取多行的程序,对单词进行计数,然后打印单词的出现次数,但如果两个或多个单词具有相同的数字,我必须按字母顺序对它们进行排序。 例如:

hello world
good morning
hello

输出应该是:

hello: 2
good: 1
morning: 1
world: 1

我想知道哪种方法是最好的方法,hashmap 是最好的方法吗?

最佳答案

这实际上是一个比表面上看起来更有趣的问题。

基本上是HashMap<String, Integer>建立一个包含所有单词的 map 是一个不错的选择。

然后您想要获取entrySet()从该 map 中删除 entrySet()从 map 进入新ArrayList<Entry<String, Integer>> 。然后您可以使用Collections.sortArrayList 进行排序使用自定义比较器,首先按值排序,然后按键排序。

我不会为您提供代码,但如果您对这些步骤有任何具体问题,请随时询问。

关于java - Java 计算字符串中每个单词的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35626010/

相关文章:

java - Google Collections 1.0 已经被mavenized 了吗?

java - 使用 Java 中的基本身份验证连接到 URL - java.net.ConnectException : Connection refused: connect

java - Java中如何有序打印多个文本区域?

java - 即使文件不存在,selenium 中的文件处理程序方法也不会抛出任何 IO 异常

JavaFX - 将新的 PieChart.Data 添加到现有饼图

java - Admob 原生广告加载失败,错误代码为 0

java - 盖乐世 Tab s7 Plus。两张SD卡。如何选择?

java - 使用 JSON API 写入存储桶时出现错误 403 "Access not configured"

java - Android 插件无法与未找到类异常统一工作?

java - 如何为liferay ide设置java EE版本