我在Scala中定义了一个Map:
val x = Map("a"->10, "b"->20, "c"->30, "d"->40)
我想从这个Map中过滤掉所有不是“a”或“c”的键,我在Scala中怎么做呢?
9cbw7uwe1#
试试看
x.view.filterKeys(Set("a", "c").contains) // Map(a -> 10, c -> 30)
如有必要,可以添加.toMap,即x.view.filterKeys(Set("a", "c").contains).toMap。不建议使用x.filterKeys(Set("a", "c").contains)。还有x.filter { case k -> v => Set("a", "c").contains(k) }。
.toMap
x.view.filterKeys(Set("a", "c").contains).toMap
x.filterKeys(Set("a", "c").contains)
x.filter { case k -> v => Set("a", "c").contains(k) }
1条答案
按热度按时间9cbw7uwe1#
试试看
如有必要,可以添加
.toMap
,即x.view.filterKeys(Set("a", "c").contains).toMap
。不建议使用
x.filterKeys(Set("a", "c").contains)
。还有
x.filter { case k -> v => Set("a", "c").contains(k) }
。