Java哈希表用相同的值设置所有键
我目前在java中工作,并使用带有键和值的哈希表 我要做的是遍历一个文件,并将每个单词作为键放入哈希表中,以一定的概率初始化为1/个单词 当前,我的代码在文件中循环,每个单词都循环:Java哈希表用相同的值设置所有键,java,collections,maps,hashtable,multimap,Java,Collections,Maps,Hashtable,Multimap,我目前在java中工作,并使用带有键和值的哈希表 我要做的是遍历一个文件,并将每个单词作为键放入哈希表中,以一定的概率初始化为1/个单词 当前,我的代码在文件中循环,每个单词都循环:map.put(word,0)。(值被初始化为0,因为我还不知道单词的总数,因为它仍在循环)。 在这个循环的最后,我想创建hashtable 1/map.size()中的每个值,有没有一种简单的方法来实现这一点,而不必遍历所有hashtable键 提前谢谢 如果您使用的是Java 8+,则可以使用: map.repl
map.put(word,0)
。(值被初始化为0,因为我还不知道单词的总数,因为它仍在循环)。
在这个循环的最后,我想创建hashtable 1/map.size()中的每个值,有没有一种简单的方法来实现这一点,而不必遍历所有hashtable键
提前谢谢 如果您使用的是Java 8+,则可以使用:
map.replaceAll((k, v) -> 1.0 / map.size());
你最好的选择是:遍历键。为什么要将每个值初始化为1/(总字数)?一个单词出现100次的概率应该和一个单词出现一次的概率相同吗?我所说的单词实际上是指两个不同语言单词的组合(“w1-w2”)。它们的概率都应该被同等地初始化,因为我正在实现一个算法,该算法可以训练自己找到正确的w1转换为w2的概率,因此概率在每个训练循环中都会更新。