gpt4 book ai didi

斯卡拉 SortedMap : Get all keys greater than a given key

转载 作者:行者123 更新时间:2023-12-01 08:32:21 26 4
gpt4 key购买 nike

给定一个 Scala collection.SortedMap 和一个键 k,获取所有键的最有效的方法是什么(或者更好的是,所有 key-value pairs) 大于 k 存储在排序映射中。返回的键集应保留键的顺序。当然,我想避免细读整个数据结构(即使用 filterKeys),并利用 map 已排序这一事实。

我想做这样的事情:

val m = collection.SortedMap((1,1) -> "somevalue", (1,2) -> "somevalue", 
(1,3) -> "somevalue", (2,1) -> "somevalue", (3,1) -> "somevalue")
m.getKeysGreaterThan((2,1))
// res0: scala.collection.SortedSet[(Int, Int)] = TreeSet((2,1), (3,1))

如果你能想到更合适的类map数据结构,欢迎提出。

最佳答案

Try this from the API doc :

m.from((2,1))

请注意,结果包含键值。

我刚刚检查了 Scala 2.10,TreeMap.from 调用 RedBlackTree 上的 from,这似乎是一个有效的实现(通常的 O (log n)用于基于树的数据结构)。

关于斯卡拉 SortedMap : Get all keys greater than a given key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14961566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com