[Kotlin] ListからMapに変換する方法
ListからMapに変換したいのだが、forとかで回すとかじゃなくて関数型でうまいこと変換できないかを探したら見つけたのでメモ。
変換方法
安定のstack overflowに答えがあった。
cf: How to convert List to Map in Kotlin?
上記によるとどうやら2通りの方法があるようだ。
一つはassociateByを使う方法
1 |
val map = friends.associateBy({it.facebookId}, {it.points}) |
もう一つはtoMapを使う方法
1 |
val map = friends.map { it.facebookId to it.points }.toMap() |
associateByのほうがなんかスマート感ある
まとめ
関数型をうまく使ってきれいにコードがかけるのでガンガン使っていきたいです。