scala Map [(String,String),Int]构建相应的MAP [String,String]

时间:2016-07-13 15:37:26

标签: scala functional-programming

如何改造:

(Map(UserLang -> en, UserName -> a),1)
(Map(UserLang -> jp, UserName -> b),1)

 (UserLang -> en, UserName -> a)
 (UserLang -> jp, UserName -> b)

如何通过函数式编程实现这一目标

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

val map1: Map[(String, String),Int]
val map2: Map[String, String] = map1.keySet.toMap

.keySet放弃Int并将您的Map[(String, String),Int]变成Set[(String,String)],然后通过调用Map轻松将其转换为toMap

答案 1 :(得分:1)

(Map(UserLang -> en, UserName -> a),1)类型为(Map[String,String], Int),而不是问题标题中所述的Map[(String,String),Int]

对于前者,请尝试map(_._1)。对于后者,请尝试keys.toMap