HashMultiMap在后台保存重复的键绑定



why when table。计数=1个表迭代函数得到1个以上的键值对?如果这是一个功能,我怎么能预期行为呢?

//
            let table = new HashMultiMap<string, int> (HashIdentity.Structural)
            table.Add("a", 1)
            table.Add("a", 1)
            table.Add("a", 1)
            // now table.Count is one
            let reduced = table.Fold (fun k v acc -> (k,v) :: acc) [] 
            let acc = ref []
            table.Iterate (fun k v -> acc.contents <- (k,v) :: acc.contents)
            //  

reduced和acc-contents包含三对("a",1)

Count成员的文档中写道:

哈希表中的密钥总数

如果有多个值与同一个键相关联,那么仍然只有一个键,因此值1是示例的预期结果。据我所见,没有任何属性返回值的总数,但您可以使用Fold:轻松实现这一点

let valueCount = table.Fold (fun _ _ n -> n + 1) 0

相关内容

  • 没有找到相关文章

最新更新