gpt4 book ai didi

scala - Scala 中的 hashmap forall() 方法示例?

转载 作者:行者123 更新时间:2023-12-03 18:13:37 30 4
gpt4 key购买 nike

有人可以举例说明如何使用 HashMap forall() 方法吗?我发现 Scala 文档难以理解。

我想要的是这样的:

val myMap = HashMap[Int, Int](1 -> 10, 2 -> 20) 
val areAllValuesTenTimesTheKey = myMap.forall((k, v) => k * 10 == v)

但这给出了:
error: wrong number of parameters; expected = 1

最佳答案

你需要

val myMap = HashMap[Int, Int](1 -> 10, 2 -> 20) 
val areAllValuesTenTimesTheKey = myMap.forall { case (k, v) => k * 10 == v }

问题是 forall 想要一个接受单个 Tuple2 的函数。 ,而不是两个参数。 (当我们使用 Map[A,B] 时,我们将 Iterable[(A,B)] 视为 forall。)使用 case 语句是一个很好的解决方法;它真的在这里使用模式匹配来分解 Tuple2并给出零件名称。

如果你不想使用模式匹配,你也可以写
val areAllValuesTenTimesTheKey = myMap.forall(p => p._1 * 10 == p._2 }

但我认为这不太有用。

关于scala - Scala 中的 hashmap forall() 方法示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6050961/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com