by shigemk2

当面は技術的なことしか書かない

Scala ListをMapへ変換したい

stackoverflow.com

Scala Mapメモ(Hishidama's Scala Map Memo)

このMapはImmutableなので、updateは使えない。updateとupdatedの違いがあまり良くわかってないので、どうにかする。

val list = List("this", "maps", "string", "to", "length")
val map = list.foldLeft(Map[String, Int]()) { (m, s) => m(s) = s.length }
scala> val list = List("this", "maps", "string", "to", "length")
list: List[String] = List(this, maps, string, to, length)

scala> val map = list.foldLeft(Map[String, Int]()) { (m, s) => m.updated(s, s.length) }
map: scala.collection.immutable.Map[String,Int] = Map(this -> 4, string -> 6, to -> 2, length -> 6, maps -> 4)