Scala-用随机数元组创建seq



我想得到这样的东西:Seq((1,2), (42, 45), (54, 52), ...).
换句话说,我想用随机整数对创建长度为nSeq

我试着做一些类似的事情:
(1 to n).toSeq.map(_ -> (scala.util.random.nextInteger(),scala.util.random.nextInteger() ))但是,它返回一些IndexedSeq而不是Seq
有人能帮我吗?

正如注释中所解释的,它返回IndexedSeq是可以的,因为这是Seq的一个子类型。但Scala有一个名为fill的库方法,它可以做你想做的事:

Seq.fill(n)((scala.util.Random.nextInt(), scala.util.Random.nextInt()))

然而,最好明确您想要的实际类型(VectorList等(:

Vector.fill(n)((scala.util.Random.nextInt(), scala.util.Random.nextInt()))

这仍然可以分配给Seq,但您可以为应用程序选择适当的实现。

最新更新