来自C#的F#等效SortedDictionary

时间:2012-03-26 09:44:52

标签: f#

F#的新手 我需要根据浮点数存储一堆对象列表,其中列表集合根据浮点数进行排序。我知道在C#中我会用

SortedDictionary<float, List<obj>>

因为实现是一个红黑树,允许log(n)插入和搜索。但是什么是攻击F#情况的最好方法。我试图使用SortedDitionary但我不能引用SortedDictionary [int]来查找值,因此它实际上使它变得无用(我可能做错了)。

感谢您的帮助

3 个答案:

答案 0 :(得分:5)

语法是

sorteddictionary.[int]

然后它按预期工作

答案 1 :(得分:1)

首先要做的是阅读冈崎的书Purely Functional Data Structures

它有可以帮助你的ML实现

答案 2 :(得分:0)

您可以使用sorteddictionary.[int]作为John Palmer已经说过但可能值得指出的是,F#标准库包含一个名为Map的纯函数排序字典集合。