5

从 Scala 中的集合中获取随机元素的有效方法是什么?这里有一个相关的问题,但就像其中一条评论指出的那样,“[那个]问题没有指定任何效率需求”。

4

4 回答 4

6

不能在恒定时间内访问任意集合。因此,您需要一些具有所需属性的特殊集合。例如——VectorArray。请参阅其他人的集合的性能特征

于 2013-09-07T18:33:01.270 回答
2
util.Random.shuffle(List.range(1,100)) take 3 
于 2014-09-10T08:22:03.567 回答
1

使用具有恒定时间 size() 和 get() 方法的集合。

于 2013-09-07T16:45:47.087 回答
1

如果您需要所有集合元素的随机顺序,那么Random.shuffle这就是您所需要的。(您最好将原始集合转换为数组,以避免向前和向后转换。)

于 2013-09-07T18:42:09.437 回答