当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala immutable.TreeMap用法及代码示例


用法 一

final class TreeMap[K, +V] extends AbstractMap[K, V] with SortedMap[K, V] with StrictOptimizedSortedMapOps[K, V, TreeMap, TreeMap[K, V]] with SortedMapFactoryDefaults[K, V, TreeMap, Iterable, Map] with DefaultSerializable

一个不可变的 SortedMap,其值存储在 red-black 树中。

当将执行范围查询或需要按排序顺序遍历时,此类是最佳选择。如果您只需要键查找,而不关心 key-values 的遍历顺序,请考虑使用 * scala.collection.immutable.HashMap ,这通常会具有更好的性能。如果您需要插入订单,请考虑 * scala.collection.immutable.SeqMap ,它不需要提供订单。

类型参数:

K

此树形图中包含的键的类型。

V

与键关联的值的类型。

值参数:

ordering

用于比较类型A的对象的隐式排序.

也可以看看:

"Scala's Collection Library overview" section on Red-Black Trees for more information.

例子:

import scala.collection.immutable.TreeMap
// Make a TreeMap via the companion object factory
val weekdays = TreeMap(
  2 -> "Monday",
  3 -> "Tuesday",
  4 -> "Wednesday",
  5 -> "Thursday",
  6 -> "Friday"
)
// TreeMap(2 -> Monday, 3 -> Tuesday, 4 -> Wednesday, 5 -> Thursday, 6 -> Friday)
val days = weekdays ++ List(1 -> "Sunday", 7 -> "Saturday")
// TreeMap(1 -> Sunday, 2 -> Monday, 3 -> Tuesday, 4 -> Wednesday, 5 -> Thursday, 6 -> Friday, 7 -> Saturday)
val day3 = days.get(3) // Some("Tuesday")
val rangeOfDays = days.range(2, 5) // TreeMap(2 -> Monday, 3 -> Tuesday, 4 -> Wednesday)
val daysUntil2 = days.rangeUntil(2) // TreeMap(1 -> Sunday)
val daysTo2 = days.rangeTo(2) // TreeMap(1 -> Sunday, 2 -> Monday)
val daysAfter5 = days.rangeFrom(5) //  TreeMap(5 -> Thursday, 6 -> Friday, 7 -> Saturday)

伴生:

object

源码:

TreeMap.scala

用法 二

object TreeMap extends SortedMapFactory[TreeMap]

该对象提供了一组操作来创建 immutable.TreeMap 值。

伴生:

class

源码:

TreeMap.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 immutable.TreeMap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。