
scala.collection.mutable.SortedMap.scala Maven / Gradle / Ivy
package scala
package collection
package mutable
import generic._
/**
* A mutable map whose keys are sorted.
*
* @tparam A the type of the keys contained in this sorted map.
* @tparam B the type of the values associated with the keys.
*
* @author Rui Gonçalves
* @version 2.12
* @since 2.12
*
* @define Coll mutable.SortedMap
* @define coll mutable sorted map
*/
trait SortedMap[A, B]
extends Map[A, B]
with collection.SortedMap[A, B]
with MapLike[A, B, SortedMap[A, B]]
with SortedMapLike[A, B, SortedMap[A, B]] {
override protected[this] def newBuilder: Builder[(A, B), SortedMap[A, B]] = SortedMap.newBuilder[A, B]
override def empty: SortedMap[A, B] = SortedMap.empty
override def updated[B1 >: B](key: A, value: B1): SortedMap[A, B1] = this + ((key, value))
override def +[B1 >: B](kv: (A, B1)): SortedMap[A, B1] = clone().asInstanceOf[SortedMap[A, B1]] += kv
override def +[B1 >: B](elem1: (A, B1), elem2: (A, B1), elems: (A, B1)*): SortedMap[A, B1] =
clone().asInstanceOf[SortedMap[A, B1]] += elem1 += elem2 ++= elems
override def ++[B1 >: B](xs: GenTraversableOnce[(A, B1)]): SortedMap[A, B1] =
clone().asInstanceOf[SortedMap[A, B1]] ++= xs.seq
}
/**
* $factoryInfo
*
* @define Coll mutable.SortedMap
* @define coll mutable sorted map
*/
object SortedMap extends MutableSortedMapFactory[SortedMap] {
def empty[A, B](implicit ord: Ordering[A]): SortedMap[A, B] = TreeMap.empty[A, B]
/** $sortedMapCanBuildFromInfo */
implicit def canBuildFrom[A, B](implicit ord: Ordering[A]): CanBuildFrom[Coll, (A, B), SortedMap[A, B]] =
new SortedMapCanBuildFrom[A, B]
}
/** Explicit instantiation of the `SortedMap` trait to reduce class file size in subclasses. */
abstract class AbstractSortedMap[A, B] extends scala.collection.mutable.AbstractMap[A, B] with SortedMap[A, B]
© 2015 - 2025 Weber Informatics LLC | Privacy Policy