要从HashMap中仅打印前10个单词及其出现频率,可以按照以下步骤进行:
以下是一个完整的Java示例代码,展示如何从HashMap中仅打印前10个单词及其出现频率:
import java.util.*;
public class WordFrequency {
public static void main(String[] args) {
// 假设这是从某处获取的单词频率HashMap
Map<String, Integer> wordFrequencyMap = new HashMap<>();
wordFrequencyMap.put("apple", 5);
wordFrequencyMap.put("banana", 3);
wordFrequencyMap.put("cherry", 7);
wordFrequencyMap.put("date", 2);
wordFrequencyMap.put("elderberry", 4);
wordFrequencyMap.put("fig", 1);
wordFrequencyMap.put("grape", 6);
wordFrequencyMap.put("honeydew", 8);
wordFrequencyMap.put("kiwi", 9);
wordFrequencyMap.put("lemon", 10);
wordFrequencyMap.put("mango", 11); // 超过10个单词的示例
// 将HashMap转换为List以便排序
List<Map.Entry<String, Integer>> list = new ArrayList<>(wordFrequencyMap.entrySet());
// 按出现频率降序排序
list.sort((entry1, entry2) -> entry2.getValue().compareTo(entry1.getValue()));
// 打印前10个单词及其出现频率
int count = 0;
for (Map.Entry<String, Integer> entry : list) {
if (count >= 10) break;
System.out.println("Word: " + entry.getKey() + ", Frequency: " + entry.getValue());
count++;
}
}
}
Collections.sort
方法按频率降序排序。通过这种方式,你可以高效地从HashMap中提取并打印前10个单词及其出现频率。
领取专属 10元无门槛券
手把手带您无忧上云