如果我在字符串中有一些文字,如:
"ABC = 123,DEF = 456,GHI = 789"
如何HashMap<String,Int>在Kotlin中以最简单,最短的代码量为它创建一个填充对象?
hot*_*key 19
我认为没有比这更简单的解决方案了:
val s = "abc=123,def=456,ghi=789"
val map = s.split(",").associate {
val (left, right) = it.split("=")
left to right.toInt()
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您需要一个HashMap,请使用.associateTo(HashMap()) { ... }.
一些细节:
.associate { ... } 接收一个产生对的函数,然后分别作为键和值存储到映射中.
val (left, right) = it.split("=")是从返回的列表中使用解构声明it.split("="),它从列表中获取前两个项目.
left to right.toInt()创建Pair<String, Int>定义单个映射.
| 归档时间: |
|
| 查看次数: |
2226 次 |
| 最近记录: |