What's the diff b/w : 1) Var immutable Map, Val mutable Map & Var mutable Map?
The image attached here is of the same code.
Also, why are all these definitions of a Map acting as if they are mutable?
scala> var var_m_map = collection.mutable.Map(("key1",1), ("key2",2))
var_m_map: scala.collection.mutable.Map[String,Int] = Map(key2 -> 2, key1 -> 1)
scala> var_m_map += ("key30" -> 30)
res8: scala.collection.mutable.Map[String,Int] = Map(key30 -> 30, key2 -> 2, key1 -> 1)
scala> val val_m_map = collection.mutable.Map(("key10",10), ("key20",20))
val_m_map: scala.collection.mutable.Map[String,Int] = Map(key20 -> 20, key10 -> 10)
scala> var_m_map += ("key30" -> 30)
res9: scala.collection.mutable.Map[String,Int] = Map(key30 -> 30, key2 -> 2, key1 -> 1)
scala> var var_i_map = collection.immutable.Map(("key100",100), ("key200",200))
var_i_map: scala.collection.immutable.Map[String,Int] = Map(key100 -> 100, key200 -> 200)
scala> var_i_map += ("key300" -> 300)
scala> var_i_map
res11: scala.collection.immutable.Map[String,Int] = Map(key100 -> 100, key200 -> 200, key300 -> 300)
scala> var var_i_map2 = Map(("key700",700), ("key800",800))
var_i_map2: scala.collection.immutable.Map[String,Int] = Map(key700 -> 700, key800 -> 800)
scala> var_i_map2 += ("key900" -> 900)
scala> var_i_map2
res13: scala.collection.immutable.Map[String,Int] = Map(key700 -> 700, key800 -> 800, key900 -> 900)