簡體   English   中英

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)))

得到你想要的輸出

您可以使用printlnoutput視為

println(output)
//Map(test -> 113123, cat -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM