title: What's the difference between HashMap and MutableMap in Kotlin
body: <p>Lots of documents have indicated the difference between Map and MutableMap in Kotlin, however, I can't seem to find the difference between HashMap and MutableMap. Can they be used interchangeably? Are there any differences in the implementation level of this 2 data structure? Can someone please elaborate.</p>
  
  <p>And as people have pointed out that MutableMap is an interface. Then when I use a map, what's the difference between using mutableMapOf and hashMapOf?</p>
  
  <p>Thanks.</p>