Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java哈希表用相同的值设置所有键_Java_Collections_Maps_Hashtable_Multimap - Fatal编程技术网

Java哈希表用相同的值设置所有键

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

我目前在java中工作,并使用带有键和值的哈希表

我要做的是遍历一个文件,并将每个单词作为键放入哈希表中,以一定的概率初始化为1/个单词

当前,我的代码在文件中循环,每个单词都循环:
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的概率,因此概率在每个训练循环中都会更新。