sortedmap.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 61 行

SCALA
61
字号
/*                     __                                               *\**     ________ ___   / /  ___     Scala API                            ****    / __/ __// _ | / /  / _ |    (c) 2003-2007, LAMP/EPFL             ****  __\ \/ /__/ __ |/ /__/ __ |    http://scala-lang.org/               **** /____/\___/_/ |_/____/_/ | |                                         ****                          |/                                          **\*                                                                      */// $Id: SortedMap.scala 12786 2007-09-04 12:13:47Z michelou $package scala.collection.immutabletrait SortedMap[A,+B] extends Map[A,B] with collection.SortedMap[A,B] {  override def rangeImpl(from: Option[A], until: Option[A]): SortedMap[A,B]  override def from(from: A) = rangeImpl(Some(from), None)  override def until(until: A) = rangeImpl(None, Some(until))  override def range(from: A, until: A) = rangeImpl(Some(from),Some(until))  override def empty[C]: SortedMap[A, C]  override def update [B1 >: B] (key: A, value: B1): SortedMap[A, B1]  override def + [B1 >: B] (kv: Pair[A, B1]): SortedMap[A, B1] = update(kv._1, kv._2)                                                                 override def + [B1 >: B] (kv1: Pair[A, B1], kv2: Pair[A, B1], kvs: Pair[A, B1]*): SortedMap[A, B1] =    this + kv1 + kv2 ++ kvs  override def ++ [B1 >: B] (kvs: Iterable[Pair[A, B1]]): SortedMap[A, B1] =     ((this: SortedMap[A, B1]) /: kvs) ((m, kv) => m + kv)  override def ++ [B1 >: B] (kvs: Iterator[Pair[A, B1]]): SortedMap[A, B1] =    ((this: SortedMap[A, B1]) /: kvs) ((m, kv) => m + kv)  override def - (key: A): SortedMap[A, B]  override def - (key1: A, key2: A, keys: A*): SortedMap[A, B] =     this - key1 - key2 -- keys  override def -- (keys: Iterable[A]): SortedMap[A, B] = this -- keys.elements  override def -- (keys: Iterator[A]): SortedMap[A, B] =     (this /: keys) ((m, key) => m - key)  override def transform[C](f: (A, B) => C): SortedMap[A, C] = {    var res = empty[C]    foreach { case (key, value) => res = res.update(key, f(key, value)) }    res  }  override def filter(p: Pair[A, B] => Boolean): SortedMap[A, B] = {    var res = this    foreach {      case kv @ (key, _) => if (!p(kv)) { res = res - key }    }    res  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?