相关疑难解决方法(0)

为什么Scala中没有可变的TreeMap?

它是否缺乏时间,某些技术问题还是有理由不存在?

collections tree scala mutable map

38
推荐指数
3
解决办法
8623
查看次数

Scala范围/区间映射结构

我有几乎相同的数据结构中提到的问题,可以将一系列键映射到值,但对于Scala.

也就是说,我希望有一个非重叠的1D范围[a [i],b [i])的可变系统,它将映射到某种值v [i].执行此类工作的标准基础数据结构是红黑树.

我希望它拥有的操作,最好是所有操作都应该具有O(log n)的复杂度:

  • 通过指定其中的任何点来查询并获取给定范围(开始,结束,存储值)或缺少它
  • 在此结构中插入新范围
  • 从结构中删除范围

所以,我想到目前为止,我看到以下变种,所有这些都有其缺点:

  • Java的TreeMap上滚动自己的容器- 快速而肮脏,但由于缺乏适当的维护而长期可能不好
  • 使用Guava的RangeMap - 可能,但在Scala集合世界中会非常尴尬
  • 尝试使用Scala的红黑树实现并尝试自己滚动,但是,我想这很难,因为Scala的TreeMap只是不可变的,并且错过了直接的查找方法,例如Java的TreeMapfloorEntry

我在这里错过了什么吗?是否存在使用Scala中心API扩展基本Scala集合的类似Guava的维护良好的集合扩展库?

强烈相关的问题:

scala range red-black-tree guava range-map

17
推荐指数
1
解决办法
2154
查看次数

标签 统计

scala ×2

collections ×1

guava ×1

map ×1

mutable ×1

range ×1

range-map ×1

red-black-tree ×1

tree ×1