Java 计算字符串中的每个单词

Java 计算字符串中的每个单词,java,Java,我需要做一个程序,从stdin中读取多行,计算单词数,然后用出现的单词数打印单词,但是如果两个或更多的单词有相同的数字,我必须按字母顺序排序。 例如: 输出应为: hello: 2 good: 1 morning: 1 world: 1 我想知道哪种方法是最好的,hashmap是最好的方法吗?这实际上是一个比表面看起来更有趣的问题 基本上,HashMap是一个不错的选择,构建一个包含所有单词的映射 然后,您需要从该映射中获取entrySet(),并将entrySet()从映射中放到新的Arra

我需要做一个程序,从stdin中读取多行,计算单词数,然后用出现的单词数打印单词,但是如果两个或更多的单词有相同的数字,我必须按字母顺序排序。 例如:

输出应为:

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

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

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

基本上,
HashMap
是一个不错的选择,构建一个包含所有单词的映射

然后,您需要从该映射中获取
entrySet()
,并将
entrySet()
从映射中放到新的
ArrayList
中。然后,您可以使用
Collections.sort
ArrayList
进行排序,使用自定义比较器先按值排序,然后按键排序


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

HashMap是计算发生次数的好方法。然后,您需要从hashmap中获取一个键集,并按字母顺序对其进行排序@芭丝谢芭虽然实际上树形图并没有真正起作用,因为他需要先按计数再按键排序
hello: 2
good: 1
morning: 1
world: 1