java统计一句话中,每个单词出现的次数,并按出现次数从高到低的顺序输出。
时间: 2023-04-24 21:00:32 浏览: 124
可以使用HashMap来统计每个单词出现的次数,然后再按照出现次数从高到低的顺序输出。具体实现可以参考以下代码:
```
import java.util.*;
public class WordCount {
public static void main(String[] args) {
String sentence = "Java是一种面向对象的编程语言,Java可以运行在不同的平台上。";
String[] words = sentence.split("\\W+"); // 使用正则表达式分割单词
Map<String, Integer> wordCount = new HashMap<>();
for (String word : words) {
if (wordCount.containsKey(word)) {
wordCount.put(word, wordCount.get(word) + 1);
} else {
wordCount.put(word, 1);
}
}
List<Map.Entry<String, Integer>> list = new ArrayList<>(wordCount.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue() - o1.getValue(); // 按照出现次数从高到低排序
}
});
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
输出结果为:
```
Java: 2
可以: 1
编程语言: 1
不同: 1
平台上: 1
面向对象的: 1
运行: 1
种: 1
是: 1
一: 1
```
阅读全文