【发布时间】:2015-10-05 15:29:22
【问题描述】:
我有一个 Map 实例(不可变):
val source = Map(
("foo", "spam"),
("bar", "hoge"),
("baz", "eggs"),
("qux", "corge"),
("quux", "grault")
)
并且我在源映射中可能存在或不存在某些顺序的键(Set 或 List):
baz
foo
quuuuux // does not exist in a source map
但是,用简洁的 scala 样式迭代源映射、通过我的键对其进行过滤并将过滤后的项目以与键相同的顺序放入结果映射中的最佳和最干净的方法是什么?
Map(baz -> eggs, foo -> spam)
附:为了澄清 - 结果映射中的键顺序必须与过滤键列表中的相同
【问题讨论】:
-
您得到了两个答案 b/c “与键的顺序相同”可能意味着保留源的迭代顺序(甚至键集)或键应该是有序的。您的示例表明后者。
标签: scala