我在这里有情况
我有两个约束
val keyMap = "anrodiApp,key1;iosApp,key2;xyz,key3"
val tentMap = "androidApp,tenant1; iosApp,tenant1; xyz,tenant2"
所以我要添加的是创建一个这样的嵌套不可变嵌套地图tenant1->(andoidiApp-> key1,iosApp-> key2),租户2->(xyz-> key3)
因此,基本上想按租户分组并创建keyMap的地图
这是我尝试过的,但是使用了我想要的可变映射来完成,有没有一种方法可以使用固定映射来创建它?>
case class TenantSetting() {
val requesterKeyMapping = new mutable.HashMap[String, String]()
}
val requesterKeyMapping = keyMap.split(";")
.map { keyValueList => keyValueList.split(',')
.filter(_.size==2)
.map(keyValuePair => (keyValuePair[0],keyValuePair[1]))
.toMap
}.flatten.toMap
val config = new mutable.HashMap[String, TenantSetting]
tentMap.split(";")
.map { keyValueList => keyValueList.split(',')
.filter(_.size==2)
.map { keyValuePair =>
val requester = keyValuePair[0]
val tenant = keyValuePair[1]
if (!config.contains(tenant)) config.put(tenant, new TenantSetting)
config.get(tenant).get.requesterKeyMapping.put(requester, requesterKeyMapping.get(requester).get)
}
}
[我有一个情况,我有两个约束val keyMap =“ anrodiApp,key1; iosApp,key2; xyz,key3” val tentMap =“ androidApp,tenant1; iosApp,tenant1; xyz,tenant2”所以我要添加的是创建一个...
将字符串分解为映射的逻辑可以相同,因为它们具有相同的语法。