public class WordsFrequency {
// 新建一个字符串数组
static String[] wordsF = {
"i", "have", "an", "apple", "he", "have", "a", "pen" };
// 构造函数初始化字符串
static WordsFrequency w = new WordsFrequency(wordsF);
// 新建一个map集合,map集合
Map<String, Integer> map = new HashMap<>();
public static void main(String[] args) {
System.out.println(w.get("have"));
}
public WordsFrequency(String[] book) {
// 循环遍历字符串数组
for (String string : book) {
// 利用map集合的键值不能重复性
// 查看map集合是否包含传入单词
if (!map.containsKey(string)) {
// 判断map的键值是否包含,不包含value设置成1;
map.put(string, 1);
} else {
// 包含value值加一,
map.put(string, map.get(string) + 1);
}
}
}
public int get(String word) {
/**
* 这里主要是利用map.getOrDefault(word, 0);方法代替了对map进行的遍历否则时间会限制,超出时间限制
*
*/
// getOrDefault()方法意思就是当Map集合中有这个key时,就使用这个key对应的value值,如果没有就使用默认值defaultValue
return map.getOrDefault(word, 0);
}
}
利用map集合查询指定单词在书中出现的频率
猜你喜欢
转载自blog.csdn.net/qq_34134299/article/details/111600563
今日推荐
周排行