gpt4 book ai didi

scala - take 函数在 Scala Map 上定义良好吗?

转载 作者:行者123 更新时间:2023-12-03 03:05:34 25 4
gpt4 key购买 nike

在 Scala Map 上使用 take 函数安全吗?我认为 Map 是无序的,因此 myMap.take(2) 将返回 myMap 的 2 个随机元素。但是在解释器上测试让我觉得它是安全的:

scala> val z = Map(1 -> 10, 2 -> 20, 3 -> 30, 4 -> 40)
z: scala.collection.immutable.Map[Int,Int] = Map(1 -> 10, 2 -> 20, 3 -> 30, 4 -> 40)

scala> z.take(2)
res1: scala.collection.immutable.Map[Int,Int] = Map(1 -> 10, 2 -> 20)

scala> z.take(2)
res2: scala.collection.immutable.Map[Int,Int] = Map(1 -> 10, 2 -> 20)

scala> z.take(2)
res3: scala.collection.immutable.Map[Int,Int] = Map(1 -> 10, 2 -> 20)

scala> z.take(2)
res4: scala.collection.immutable.Map[Int,Int] = Map(1 -> 10, 2 -> 20)

那么,在 Map 上使用 take 是否安全,还是需要使用 ListMap

最佳答案

每次take(2)时,您很可能会得到相同的 2,但不知道您首先会得到哪一个 2。

val y = Map(1 -> 10, 2 -> 20, 3 -> 30, 4 -> 40, 5 -> 5)
y.take(2) //res0: Map[Int,Int] = Map(5 -> 5, 1 -> 10)

关于scala - take 函数在 Scala Map 上定义良好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52452087/

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