scala.collection.mutable
class ImmutableMapAdaptor

[source: `scala/collection/mutable/ImmutableMapAdaptor.scala`]

@serializable
`` `class` ImmutableMapAdaptor[A, B](`protected val` imap : Map[A, B])
  `extends` Map[A, B]

  This class can be used as an adaptor to create mutable maps from immutable map implementations. Only method `empty` has to be redefined if the immutable map on which this mutable map is originally based is not empty. `empty` is supposed to return the representation of an empty map.

Author
  Matthias Zenger
  Martin Odersky
Version
  2.0, 01/01/2007

Method Summary
`def` | -= (key : A) : Unit Remove a key from this map, noop if key is not present.
`override def` | apply (key : A) : B Retrieve the value which is associated with the given key. This method throws an exception if there is no mapping from the given key to a value.
`override def` | clear : Unit Removes all mappings from the map. After this operation is completed, the map is empty.
`override def` | contains (key : A) : Boolean Is the given key mapped to a value by this map?
`def` | elements : Iterator[(A, B)] Creates a new iterator over all elements contained in this object.
`def` | get (key : A) : Option[B] Check if this map maps `key` to a value and return the value if it exists.
`override def` | isDefinedAt (key : A) : Boolean Does this map contain a mapping from the given key to a value?
`override def` | isEmpty : Boolean Is this an empty map?
`override def` | keySet : Set[A]
`override def` | keys : Iterator[A] Creates an iterator for all keys.
`override def` | retain (p : (A, B) => Boolean) : Unit This method retains only those mappings for which the predicate `p` returns `true`.
`def` | size : Int Compute the number of key-to-value mappings.
`override def` | toList : List[(A, B)] Create a fresh list with all the elements of this iterable object.
`override def` | toString : String Creates a string representation for this map.
`override def` | transform (f : (A, B) => B) : Unit This function transforms all the values of mappings contained in this map with function `f`.
`def` | update (key : A, value : B) : Unit This method allows one to add a new mapping from `key` to `value` to the map. If the map already contains a mapping for `key`, it will be overridden by this function.
`override def` | values : Iterator[B] Creates an iterator for a contained values.

Methods inherited from Map
+=, +=, ++=, ++=, +, +, ++, ++, -=, --=, --=, -, -, --, --, getOrElseUpdate, <<, clone, +=, incl, excl

Methods inherited from Map
getOrElse, equals, hashCode, default, projection, filterKeys, mapElements

Methods inherited from Collection
toArray, stringPrefix

Methods inherited from Iterable
concat, ++, map, flatMap, filter, takeWhile, dropWhile, take, drop, foreach, forall, exists, find, findIndexOf, indexOf, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toStream, mkString, mkString, mkString, addString, addString, copyToArray, hasDefiniteSize

Methods inherited from PartialFunction
orElse, andThen

Methods inherited from Function1
compose

Methods inherited from AnyRef
getClass, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized

Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf

Method Details

`` `def` size : Int

  Compute the number of key-to-value mappings.

Returns
  the number of mappings

`` `def` get(key : A) : Option[B]

  Check if this map maps `key` to a value and return the value if it exists.

Parameters
  `key -` the key of the mapping of interest
Returns
  the value of the mapping, if it exists

`override` `def` isEmpty : Boolean

  Is this an empty map?

Returns
  `true` iff the map is empty.

`override` `def` apply(key : A) : B

  Retrieve the value which is associated with the given key. This method throws an exception if there is no mapping from the given key to a value.

Parameters
  `key -` the key
Returns
  the value associated with the given key.

`override` `def` contains(key : A) : Boolean

  Is the given key mapped to a value by this map?

Parameters
  `key -` the key
Returns
  `true` iff there is a mapping for key in this map

`override` `def` isDefinedAt(key : A) : Boolean

  Does this map contain a mapping from the given key to a value?

Parameters
  `key -` the key
Returns
  `true` iff there is a mapping for key in this map

`override` `def` keys : Iterator[A]

  Creates an iterator for all keys.

Returns
  an iterator over all keys.

`override` `def` keySet : Set[A]

Returns
  the keys of this map as a set.

`override` `def` values : Iterator[B]

  Creates an iterator for a contained values.

Returns
  an iterator over all values.

`` `def` elements : Iterator[(A, B)]

  Creates a new iterator over all elements contained in this object.

Returns
  the new iterator

`override` `def` toList : List[(A, B)]

  Create a fresh list with all the elements of this iterable object.

Notes
  Will not terminate for infinite-sized collections.

`` `def` update(key : A, value : B) : Unit

  This method allows one to add a new mapping from `key` to `value` to the map. If the map already contains a mapping for `key`, it will be overridden by this function.

Parameters
  `key -` The key to update
  `value -` The new value

Overrides
  Map.update

`` `def` -=(key : A) : Unit

  Remove a key from this map, noop if key is not present.

Parameters
  `key -` the key to be removed

Overrides
  Map.-=

`override` `def` clear : Unit

  Removes all mappings from the map. After this operation is completed, the map is empty.

Overrides
  Map.clear

`override` `def` transform(f : (A, B) => B) : Unit

  This function transforms all the values of mappings contained in this map with function `f`.

Parameters
  `f -` The transformation to apply

Overrides
  Map.transform

`override` `def` retain(p : (A, B) => Boolean) : Unit

  This method retains only those mappings for which the predicate `p` returns `true`.

Parameters
  `p -` The test predicate

Overrides
  Map.retain

`override` `def` toString : String

  Creates a string representation for this map.

Returns
  a string showing all mappings