私はscalaマップを持っています:
attrs: Map[String , String]
次のようにマップを反復処理しようとすると、
attrs.foreach { key, value => }
上記は機能しません。各反復で、キーと値を知る必要があります。Scalaシンタックスシュガーを使用してScalaマップを反復処理する適切な方法は何ですか?
回答:
マップ値を反復する方法をさらにいくつか追加しました。
// Traversing a Map
def printMapValue(map: collection.mutable.Map[String, String]): Unit = {
// foreach and tuples
map.foreach( mapValue => println(mapValue._1 +" : "+ mapValue._2))
// foreach and case
map.foreach{ case (key, value) => println(s"$key : $value") }
// for loop
for ((key,value) <- map) println(s"$key : $value")
// using keys
map.keys.foreach( key => println(key + " : "+map.get(key)))
// using values
map.values.foreach( value => println(value))
}