将字符串转换为HashMap最简单的方法
如果我在一个字符串中有一些文本,如:
“ABC = 123,DEF = 456,GHI = 789”
我怎么能创建一个填充HashMap<String,Int>
对象在Kotlin可能的最简单,最短的代码量?
我能想到比这更容易的解决办法:
val s = "abc=123,def=456,ghi=789" val map = s.split(",").associate { val (left, right) = it.split("=") left to right.toInt() }
或者,如果你需要一个HashMap
,使用.associateTo(HashMap()) { ... }
。
一些细节:
-
.associate { ... }
接收一个函数,该函数生成对,然后将这些对分别作为键和值存储到映射中。 -
val (left, right) = it.split("=")
是从it.split("=")
返回的列表上的解构声明的用法,它从列表中的前两个项目。 -
left to right.toInt()
创建一个Pair<String, Int>
定义一个映射。