将字符串转换为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>定义一个映射。