Scala SortedMap:获取大于给定键的所有键
发布时间:2020-12-16 09:05:53 所属栏目:安全 来源:网络整理
导读:给定一个 Scala集合.SortedMap和一个密钥k,获得大于存储在有序映射中的k的所有键(甚至更好,所有键值对)的最有效方法是什么.返回的键集应保留键的顺序. 当然,我想避免仔细阅读整个数据结构(即使用filterKeys),并利用地图排序的事实. 我想做的事情如下: val m
给定一个
Scala集合.SortedMap和一个密钥k,获得大于存储在有序映射中的k的所有键(甚至更好,所有键值对)的最有效方法是什么.返回的键集应保留键的顺序.
当然,我想避免仔细阅读整个数据结构(即使用filterKeys),并利用地图排序的事实. 我想做的事情如下: val m = collection.SortedMap((1,1) -> "somevalue",(1,2) -> "somevalue",3) -> "somevalue",(2,(3,1) -> "somevalue") m.getKeysGreaterThan((2,1)) // res0: scala.collection.SortedSet[(Int,Int)] = TreeSet((2,1),1)) 如果您能想到更合适的类似地图的数据结构,请提出建议. 解决方法
Try this from the API doc:
m.from((2,1)) 请注意,结果包含键值. 我刚刚在RedBlackTree上检查了Scala 2.10,TreeMap.from调用,这似乎是一种有效的实现(通常是基于树的数据结构的O(log n)). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |