在Scala中过滤掉Map中的所有键,除了一些特定键

eqoofvh9  于 2023-03-18  发布在  Scala
关注(0)|答案(1)|浏览(152)

我在Scala中定义了一个Map:

val x = Map("a"->10, "b"->20, "c"->30, "d"->40)

我想从这个Map中过滤掉所有不是“a”或“c”的键,我在Scala中怎么做呢?

9cbw7uwe

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) }

相关问题