如何从Kotlin的hashMapOf中仅获取键而非键值对?
如何从Kotlin的HashMap中获取随机键?
你当前代码里list.entries返回的是键值对集合(Set<Map.Entry<String, String>>),所以通过elementAt拿到的是包含键和值的Entry对象,而非单独的键。想要仅获取键,直接操作HashMap的keys属性即可,它返回所有键的集合。
解决方法1:通过索引获取随机键
val list = hashMapOf("element1" to "1", "element2" to "2") val random = Random val randomKey = list.keys.elementAt(random.nextInt(list.keys.size))
解决方法2:使用Kotlin内置的random()方法(更简洁)
从Kotlin 1.3版本开始,集合类提供了random()方法,可以直接获取随机元素:
val list = hashMapOf("element1" to "1", "element2" to "2") val randomKey = list.keys.random()
内容的提问来源于stack exchange,提问作者Yusuf Taha
相关产品推荐
相关产品推荐

