How to initialize a Scala immutable hashmap with values?

35,007

Solution 1

Do you mean something like this?


scala> val m = collection.immutable.HashMap(0 -> 1, 2 -> 3)
m: scala.collection.immutable.HashMap[Int,Int] = Map((0,1), (2,3))

scala> m.get(0)
res0: Option[Int] = Some(1)

scala> m.get(2)
res1: Option[Int] = Some(3)

scala> m.get(1)
res2: Option[Int] = None

Solution 2

To create from a collection (remember NOT to have a new keyword)

val result: HashMap[Int, Int] = HashMap(myCollection: _*)
Share:
35,007
Ivan
Author by

Ivan

Updated on July 01, 2020

Comments

  • Ivan
    Ivan about 4 years

    What's the syntax to set immutable hashmap contents on initialization?

    For example, if I was willing to hardcode an array, I'd write:

    val a = Array (0, 1, 2, 3)

    What's the analogue for immutable hashmaps (say I want it to contain 0->1 and 2->3 pairs) (in Scala 2.8)?