Scala 中的嵌套地图迭代器
Nested map iterator in scala
我的代码中有嵌套地图输出,如下所示
Map(test -> 113123, "cat" -> None, myList -> Map(test2 -> 321323, test3 -> 11122))
但我希望使用 Scala 迭代器输出如下所示,如果有人知道请帮助我,因为我是 Scala 的新手
Map(test -> 113123, "cat" -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))
假设您有
这样的数据
val data = Map("test" -> 113123, "cat" -> None, "myList" -> Map("test2" -> 321323, "test3" -> 11122))
//data: scala.collection.immutable.Map[String,Any] = Map(test -> 113123, cat -> None, myList -> Map(test2 -> 321323, test3 -> 11122))
那你可以
val output = data.map(x => if (x._2.isInstanceOf[Map[String, Long]]) (x._1 -> Some(x._2)) else x)
//output: scala.collection.immutable.Map[String,Any] = Map(test -> 113123, cat -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))
获得你想要的输出
并且您可以使用 println
将 output
视为
println(output)
//Map(test -> 113123, cat -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))
我的代码中有嵌套地图输出,如下所示
Map(test -> 113123, "cat" -> None, myList -> Map(test2 -> 321323, test3 -> 11122))
但我希望使用 Scala 迭代器输出如下所示,如果有人知道请帮助我,因为我是 Scala 的新手
Map(test -> 113123, "cat" -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))
假设您有
这样的数据val data = Map("test" -> 113123, "cat" -> None, "myList" -> Map("test2" -> 321323, "test3" -> 11122))
//data: scala.collection.immutable.Map[String,Any] = Map(test -> 113123, cat -> None, myList -> Map(test2 -> 321323, test3 -> 11122))
那你可以
val output = data.map(x => if (x._2.isInstanceOf[Map[String, Long]]) (x._1 -> Some(x._2)) else x)
//output: scala.collection.immutable.Map[String,Any] = Map(test -> 113123, cat -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))
获得你想要的输出
并且您可以使用 println
将 output
视为
println(output)
//Map(test -> 113123, cat -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))