What's the difference between HashMap and MutableMap in Kotlin
许多文档已经表明Kotlin中Map和MutableMap之间的区别,但是,我似乎找不到HashMap和MutableMap之间的区别。 它们可以互换使用吗? 这2个数据结构的实现水平是否有差异? 有人可以详细说明吗。
正如人们指出的那样,MutableMap是一个接口。 然后,当我使用地图时,使用mutableMapOf和hashMapOf有什么区别?
谢谢。
-
MutableMap是一个接口。 HashMap实现它。 身份证建议检查文档。
-
可变映射是可变的映射。 它是一个接口。 它具有很多实现(HashMap,TreeMap,ConcurrentHashMap等)。 HashMap是(Mutable)Map的特定实现。 api doc是您的朋友。 kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/,kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/
-
mutableMapOf返回某些实现,该实现可能是但不一定是HashMap。
-
@LouisWasserman非常感谢。 我认为您的回答说明了我在寻找什么。
HashMap是接口MutableMap的实现。 从前一个链接:
Hash table based implementation of the MutableMap interface.
可能还有其他实现,例如LinkedHashMap。 您可以阅读这些链接上的文档,以发现哪些行为对于所有MutableMap实现都是通用的,哪些行为对于HashMap或LinkedHashMap是特定的。
-
请注意,HashMap和LinkedHashMap依赖于平台(或可能是平台),而使用更通用的功能(例如mutableMapOf(...))将创建该平台默认实现的实例。