我想用正確的方式在純FP樣式中執行此操作。在斯卡拉字符串列表中的groupBy元素
如何在Scala中做到這一點?
case class Notes(title: String, body: String, tags: List[String])
val notesList: List[Notes] = retrieveNotesList() // it works
多個筆記可以有相同的標籤。
現在我想按標記對筆記進行分組。我不能夠通過標籤來完成代碼組註釋:
val notesGroupedByTag: Map[String, List[Notes]] = notesList.groupBy {
case note: Notes => note.tags
}.[_to be completed_]
你寫你想要的結果類型爲Map [String,List [String]]'。關鍵是什麼?價值是什麼?我猜密鑰是標籤?什麼值呢? –
我同意@JoeK。也許你的意思是'Map [String,List [Notes]]'? – mfirry
我修復它以匹配我正在尋找的東西。關鍵是「標記」,值是一個筆記列表。像'Map(「scala」 - > List(Note_1,Note_2),「code」 - > List(Note_1,Note_3),「theory」 - > List(Note_2,Note_3))''這就是我正在尋找的東西。感謝 – mvito