【发布时间】:2015-04-15 15:21:27
【问题描述】:
检索属于更大键的条目
我最近偶然发现了一个SO question,询问如何检索大于SortedMap 中给定键的键。 AfaIk,这些SortedMap 方法值得注意:
-
from(from: A): SortedMap[A, B]创建此集合的范围投影,没有上限
-
iteratorFrom(start: A): Iterator[(A, B)]根据此映射的顺序,在此映射中包含的键大于或等于 start 的所有键/值对上创建一个迭代器。 x.iteratorFrom(y) 等效于但通常比 x.from(y).iterator 更有效。
-
keysIteratorFrom(start: A): Iterator[A]根据此集合的顺序,在此集合中包含的大于或等于 start 的所有键(或元素)上创建一个迭代器。 x.keysIteratorFrom(y) 等效于但通常比 x.from(y).keysIterator 更有效。
-
valuesIteratorFrom(start: A): Iterator[B]根据此映射的顺序,在此映射中包含与大于或等于 start 的键关联的所有值上创建一个迭代器。 x.valuesIteratorFrom(y) 等价于但通常比 x.from(y).valuesIterator 更有效。
检索属于较小键的条目
为了检索小于给定密钥的密钥,您可以使用这些 SortedMap 方法 (afaIk):
-
to(to: A): SortedMap[A, B]创建此集合的范围投影,没有下限
问题:
为什么没有模拟方法iteratorTo、keysIteratorTo和valuesIteratorTo?
如果它们存在,它们将如何工作?:
- 他们会从最高键向后迭代到最低键吗? (这对我来说更有意义)
- 或者他们会从最低键向前迭代到最高键吗?
在这种情况下,您可以通过执行类似sortedMap.to(_).iterator()的操作来获取这些迭代器,尽管 SortedMap 的实现可以提供更有效的iteratorTo& co 实现(类似于iteratorFrom& co)
【问题讨论】:
标签: scala iterator scala-collections sortedmap