title: What are different between MutableMap and Map in Kotlin?
body: <p>I can't understand What different there are between MutableMap and Map in Kotlin?</p>
  
  <p>The following code is from a sample on <a href="https://github.com/antoniolg/Kotlin-for-Android-Developers/blob/master/app/src/main/java/com/antonioleiva/weatherapp/data/db/DbClasses.kt" rel="nofollow noreferrer">https://github.com/antoniolg/Kotlin-for-Android-Developers/blob/master/app/src/main/java/com/antonioleiva/weatherapp/data/db/DbClasses.kt</a></p>
  
  <p>I don't know why val map is designed as MutableMap, I think it should be Map because it's field of database table.</p>
  
  <p>Could you tell me why var map is designed as MutableMap ?</p>
  
  <pre><code>class CityForecast(val map: MutableMap&lt;String, Any?&gt;, val dailyForecast: List&lt;DayForecast&gt;) {
      var _id: Long by map
      var city: String by map
      var country: String by map
  
      constructor(id: Long, city: String, country: String, dailyForecast: List&lt;DayForecast&gt;)
              : this(HashMap(), dailyForecast) {
          this._id = id
          this.city = city
          this.country = country
      }
  }
  </code></pre>