如何检查Hashtable是否包含特定密钥?

cloud123:

我有一个ArrayList<String>和一个Hashtable<String, Double>因此,当我将arraylist与哈希表进行比较时,如果找到了键(字符串),则我想获取value(双精度)并在比较所有arraylist的末尾查找总值。但这总是得分为0。

有代码

ArrayList<String> Trigram = Trigrams.GenerateTrigrams(extra, 3);

// System.out.print(Trigram);
Hashtable<String, Double> map = readModleFile("Models//EnglishModel.txt");

double score = 0;

for (String temKey : Trigram) {
  if (map.contains(temKey)) {
    Double value = map.get(temKey);
    score = score + value;
  } else {
    score = 0;

  }

}
System.out.print(score);
hev1;

您的else分支总是将分数重置为0;除非地图包含列表的所有元素,否则总会至少重置一次分数。只需删除分支。

第二个问题是您正在使用contains,而不是containsKey检查一个键的存在,而不是检查一个键的存在。

for (String temKey : Trigram) {
  if (map.containsKey(temKey)) {
    Double value = map.get(temKey);
    score = score + value;
  }
}

也可以使用来缩短代码并使代码更简洁getOrDefault,如果没有与键相关联的映射,则该代码将返回与键相关联的映射或第二个参数(默认值)。

for (String temKey : Trigram) {
  score += map.getOrDefault(temKey, 0);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查NSDictionary或NSMutableDictionary是否包含密钥?

如何检查TreeMap是否包含特定对象?

如何检查标签是否包含特定属性?

如何检查数组是否包含特定项目

如何检查数组是否包含特定值?

如何不执行插入检查std :: map是否包含密钥?

如何在Go中检查地图是否包含密钥?

如何确定JSON对象是否仅包含特定密钥?

如何确定地图列表是否包含密钥的特定值?

如何检查哈希中是否存在特定密钥?

检查模型是否包含密钥derbyjs

轻松:检查单个文档是否包含密钥

如何检查密钥对中的密钥是否可用?

检查是否包含特定文字

EXCEL 如何检查A列是否包含特定值,B列是否包含2个特定值?

如何检查3个数组是否包含特定值?

如何检查Perl数组是否包含特定值?

如何检查元素是否包含特定的类属性

如何检查数组列表是否包含特定字符串

VueJS2:如何检查数组是否包含特定元素?

如何检查列表中是否包含特定元素

熊猫:如何检查熊猫数据框是否包含特定值?

如何检查Java类中是否包含特定方法?

在Java中,如何检查集合是否包含特定类的实例?

如何检查PATH是否已包含特定目录

如何检查javascript数组是否已包含特定数组

如何检查Swift中的元组数组是否包含特定的元组?

如何使用javascript检查Kendo网格是否包含特定项目

如何检查:数组是否正确包含特定文本?