我在scala中有一组{。{1}}之类的Map.Entry。现在,我想在scala中获取Set keys(字符串)或values(ConfigValue)。请为该问题提出一些简单的解决方案。 谢谢
答案 0 :(得分:0)
您可以使用.map
将Set[Map.Entry[String,ConfigValue]]
转换为Set[String]
和/或Set[ConfigValue]
。但是请注意,您可能需要先转换为List
,以避免折叠重复项。
答案 1 :(得分:0)
如果有的话
val map: Set[Map[K, V]] = ???
val keys = map.flatMap(_.keySet) will give you Set[K]
val values = map.flatMap(_.values) will give you Set[V]
在两种情况下,重复项都将被删除。
答案 2 :(得分:0)
您可以创建几个描述该计算的函数,例如:
val getKeys: Set[JavaMap.Entry[String, ConfigValue]] => Set[String] = _.map(_.getKey)
val getValues: Set[JavaMap.Entry[String, ConfigValue]] => Set[ConfigValue] = _.map(_.getValue)
然后,当您需要提取一个或另一个时,可以这样称呼它们:
val setOfKeyMap: Set[Map.Entry[String, ConfigValue]] = ???
...
val setOfKeys: Set[String] = getKeys(setOfKeyMap)
val setOfValues: Set[ConfigValue] = getValues(setOfKeyMap)