以下是一个示例代码,通过读取输入的单词列表并按长度和字母顺序对其进行排序,然后计算每个单词的频率。
import java.util.*;
public class WordFrequency {
public static void main(String[] args) {
// 输入的单词列表
String[] words = {"apple", "banana", "cherry", "apple", "banana", "apple"};
// 使用TreeMap按长度和字母顺序对单词进行排序
TreeMap wordMap = new TreeMap<>(new Comparator() {
@Override
public int compare(String s1, String s2) {
if (s1.length() == s2.length()) {
return s1.compareTo(s2);
} else {
return Integer.compare(s1.length(), s2.length());
}
}
});
// 计算频率
for (String word : words) {
wordMap.put(word, wordMap.getOrDefault(word, 0) + 1);
}
// 打印结果
for (Map.Entry entry : wordMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
运行以上代码将输出:
apple: 3
banana: 2
cherry: 1
这样,我们就得到了按长度和字母顺序排序的Java单词频率。