gpt4 book ai didi

scala - 将字符串列表转换为Map [String,List]

转载 作者:行者123 更新时间:2023-12-04 09:35:55 24 4
gpt4 key购买 nike

我正在尝试将List("a,1" , "b,2" , "c,3" , "a,2" , "b,4")转换为具有值的scala.collection.immutable.HashMap[String, java.util.List[String]]:

a -> 1,2
b -> 2,4
c -> 3

因此,每个键都包含其值的列表。

到目前为止,这是我的代码:
object ConvertList extends Application {

var details = new scala.collection.immutable.HashMap[String, java.util.List[String]]

val strList = List("a,1" , "b,2" , "c,3" , "a,2" , "b,4")

//Get all values
val getValue : Function1[String, String] = { a => a.split(",")(1) }
val allValues : List[String] = strList map getValue

//get unique values
val uniqueValues = allValues.toSet[String]

//Somehow map each unique value to a value in the original List....
println(uniqueValues)

println(strList.flatten)
//userDetails += "1" -> List("a","b",


}

如何执行此转换?

最佳答案

strList.map(s => (s(0).toString,s(2).toString))
.groupBy(_._1)
.mapValues(_.map(_._2))

输出 :
Map[String,List[String]] = Map(b -> List(2, 4), a -> List(1, 2), c -> List(3))

关于scala - 将字符串列表转换为Map [String,List],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18520417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com