當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。