scala.collection.immutable

class HashMap

[source: scala/collection/immutable/HashMap.scala]

@serializable

class HashMap[A, B]
extends Map[A, B] with HashTable[A]
This class implements immutable maps using a hash table.
Author
Martin Odersky
Version
2.0, 19/01/2007
Type Summary
type Entry
Value Summary
protected var deltaSize : Int
protected var later : HashMap[A, B]
protected var oldKey : A
protected var oldValue : Option[B]
Values and Variables inherited from HashTable
initialThreshold, table, tableSize, threshold
Method Summary
def - (key : A) : Map[A, B]
Remove a key from this map
def elements : Iterator[(A, B)]
Creates a new iterator over all elements contained in this object.
def empty [C] : Map[A, C]
This method returns a new map instance of the same class mapping keys of the same type to values of type C.
def get (key : A) : Option[B]
Check if this map maps key to a value and return the value if it exists.
override def size : Int
Returns the size of this hash table.
def update [B1 >: B](key : A, value : B1) : Map[A, B1]
This method allows one to create a new map with an additional mapping from key to value. If the map contains already a mapping for key, it will be overridden by this function.
Methods inherited from HashTable
loadFactor, initialSize, findEntry, addEntry, removeEntry, entries, clear, elemEquals, elemHashCode, improve, index
Methods inherited from Map
+, +, ++, ++, -, --, --, withDefault, withDefaultValue, transform, filter, +, incl, incl, excl, excl, mappingToString
Methods inherited from Map
getOrElse, isEmpty, apply, contains, isDefinedAt, keys, keySet, values, equals, hashCode, toString, default, projection
Methods inherited from Collection
toArray, stringPrefix
Methods inherited from Iterable
concat, ++, map, flatMap, takeWhile, dropWhile, take, drop, foreach, forall, exists, find, findIndexOf, indexOf, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toList, mkString, mkString, addString, addString, copyToArray, hasDefiniteSize
Methods inherited from PartialFunction
orElse, andThen
Methods inherited from Function1
compose
Methods inherited from AnyRef
getClass, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Type Details
type Entry

Value Details
protected var later : HashMap[A, B]

protected var oldKey : A

protected var oldValue : Option[B]

protected var deltaSize : Int

Method Details
def empty[C] : Map[A, C]
This method returns a new map instance of the same class mapping keys of the same type to values of type C.
Overrides
Map.empty

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

def update[B1 >: B](key : A, value : B1) : Map[A, B1]
This method allows one to create a new map with an additional mapping from key to value. If the map contains already a mapping for key, it will be overridden by this function.
Parameters
key - ...
value - ...
Returns
the created map
Deprecated
use +({A, B}) instead
Overrides
Map.update

def -(key : A) : Map[A, B]
Remove a key from this map
Parameters
key - the key to be removed
Returns
If the map does not contain a binding for key it is returned unchanged. Otherwise, return a new map without a binding for key
Overrides
Map.-

override def size : Int
Returns the size of this hash table.
Overrides
HashTable.size

def elements : Iterator[(A, B)]
Creates a new iterator over all elements contained in this object.
Returns
the new iterator