从HashMap中仅打印前10个单词及其出现频率的方法如下:
下面是一个示例代码:
import java.util.*;
public class WordFrequency {
public static void main(String[] args) {
// 创建HashMap对象
HashMap<String, Integer> wordMap = new HashMap<>();
// 文本内容
String text = "This is a sample text. It contains some words that may repeat. This is just a sample.";
// 将文本中的单词及其频率存储在HashMap中
String[] words = text.split(" ");
for (String word : words) {
if (wordMap.containsKey(word)) {
wordMap.put(word, wordMap.get(word) + 1);
} else {
wordMap.put(word, 1);
}
}
// 创建ArrayList对象,用于存储HashMap中的键值对
ArrayList<Map.Entry<String, Integer>> wordList = new ArrayList<>(wordMap.entrySet());
// 对ArrayList进行排序,按值的大小降序排列
Collections.sort(wordList, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
// 打印前10个单词及其出现频率
int count = 0;
for (Map.Entry<String, Integer> entry : wordList) {
System.out.println(entry.getKey() + ": " + entry.getValue());
count++;
if (count == 10) {
break;
}
}
}
}
这段代码将文本中的单词及其出现频率存储在HashMap中,并按照频率的大小降序排列。然后,打印前10个单词及其出现频率。你可以根据实际需求进行修改和优化。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云