【发布时间】:2020-10-25 06:40:02
【问题描述】:
我有一个包含数百个元素的地图,我想一次检索许多与给定键关联的值。
例子:
Map(t1 -> 1),(t2 -> 2),.....(t340 ->340)
我知道我可以使用 apply 方法,但我试图一次检索 50 个值,这会使代码看起来像:
val a = map.apply("t1","t2","t3","t4","t5","t6"...."t50)
还有其他方法可以让我使用 apply 方法或 scala 地图集合的其他方法一次检索多个值吗?
【问题讨论】:
-
如果您一次检索多个值(每次尝试都可能失败),结果不也是...集合吗?
-
您有密钥集合吗?还是只是可变参数?地图中不存在的键会发生什么?我看到了三种选择: 1. Options 的 List,每个键一个。 - 2. List 的Option,如果至少有一个元素丢失,则整个操作被中止。 - 3. 仅包含找到的值的列表。 - 你想要这三种选择中的哪一种?
-
filtering 映射您想要的值怎么样?