synchronizedmap.scala

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

SCALA
154
字号
/*                     __                                               *\**     ________ ___   / /  ___     Scala API                            ****    / __/ __// _ | / /  / _ |    (c) 2003-2007, LAMP/EPFL             ****  __\ \/ /__/ __ |/ /__/ __ |    http://scala-lang.org/               **** /____/\___/_/ |_/____/_/ | |                                         ****                          |/                                          **\*                                                                      */// $Id: SynchronizedMap.scala 12707 2007-08-28 15:00:51Z michelou $package scala.collection.mutable/** This class should be used as a mixin. It synchronizes the <code>Map</code> *  functions of the class into which it is mixed in. * *  @author  Matthias Zenger, Martin Odersky *  @version 2.0, 31/12/2006 */trait SynchronizedMap[A, B] extends Map[A, B] {  abstract override def size: Int = synchronized {    super.size  }  abstract override def get(key: A): Option[B] = synchronized {    super.get(key)  }  override def isEmpty: Boolean = synchronized {    super.isEmpty  }  override def apply(key: A): B = synchronized {    super.apply(key)  }  override def contains(key: A): Boolean = synchronized {    super.contains(key)  }  override def isDefinedAt(key: A) = synchronized {    super.isDefinedAt(key)  }  override def keys: Iterator[A] = synchronized {    super.keys  }  override def keySet: collection.Set[A] = synchronized {    super.keySet  }  override def values: Iterator[B] = synchronized {    super.values  }  abstract override def elements: Iterator[(A, B)] = synchronized {    super.elements  }  override def toList: List[(A, B)] = synchronized {    super.toList  }  abstract override def update(key: A, value: B): Unit = synchronized {    super.update(key, value)  }  override def += (kv: (A, B)): Unit = synchronized {     super.+=(kv)   }  /** Add two or more key/value pairs to this map.    *  @param    kv1 the key/first value pair.   *  @param    kv2 the second key/first value pair.   *  @param    kvs the remaining key/first value pairs.   */  override def += (kv1: (A, B), kv2: (A, B), kvs: (A, B)*): Unit = synchronized {    super.+=(kv1, kv2, kvs: _*)  }  override def ++=(map: Iterable[(A, B)]): Unit = synchronized {    super.++=(map)  }  override def ++=(it: Iterator[(A, B)]): Unit = synchronized {    super.++=(it)  }  @deprecated  override def incl(mappings: (A, B)*): Unit = synchronized {    super.incl(mappings: _*)  }  abstract override def -=(key: A): Unit = synchronized {    super.-=(key)  }  override def -= (key1: A, key2: A, keys: A*): Unit = synchronized {     super.-=(key1, key2, keys: _*)  }  override def --=(keys: Iterable[A]): Unit = synchronized {    super.--=(keys)  }  override def --=(it: Iterator[A]): Unit = synchronized {    super.--=(it)  }  @deprecated  override def excl(keys: A*): Unit = synchronized {    super.excl(keys: _*)  }  override def clear(): Unit = synchronized {    super.clear  }  override def getOrElseUpdate(key: A, default: => B): B = synchronized {    super.getOrElseUpdate(key, default)  }  override def transform(f: (A, B) => B): Unit = synchronized {    super.transform(f)  }  override def retain(p: (A, B) => Boolean): Unit = synchronized {    super.retain(p)  }  override def toString() = synchronized {    super.toString()  }  override def equals(that: Any): Boolean = synchronized {    super.equals(that)  }    override def hashCode(): Int = synchronized {    super.hashCode()  }  override def <<(cmd: Message[(A, B)]): Unit = synchronized {    super.<<(cmd)  }  override def clone(): Map[A, B] = synchronized {    super.clone()  }}

⌨️ 快捷键说明

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