查找 HashMap 中保存最小整数值的键

Cyb*_*urk 2 java iterator hashmap

我正在为需要学习最常用单词的年轻学生创建一个教育游戏。我随机从列表中选择三个单词,将它们显示在屏幕上,播放这三个单词之一的录音,然后学生必须选择已发音的单词。我记录他们猜对每个单词的次数。这样我就可以设定一个标准,规定何时向学生介绍新单词。当选择其中三个单词时,我会发音学生最少接触过的单词。

我有一个名为words的HashMap,其中包含单词,以及学生猜测该单词的次数的整数值。

  HashMap<String,Integer>  words 
Run Code Online (Sandbox Code Playgroud)

它包含 10 - 120 个关键字/单词。我想创建一个方法,它采用三个哈希映射键作为参数,可以返回具有所需键的最低值的字符串/键。

我在让它按预期工作时遇到了麻烦,我将不胜感激任何帮助。

Jak*_*kul 5

使用 Java 8 可能是最短的解决方案:

private String getMinKey(Map<String, Integer> map, String... keys) {

    return map.entrySet().stream()
     .filter(p -> Arrays.asList(keys).contains(p.getKey()))
     .min(Comparator.comparingInt(Map.Entry::getValue)).get().getKey();

}
Run Code Online (Sandbox Code Playgroud)