如何交换Scala中的列表中的随机索引?

当您知道要交换哪些值时,我知道该怎么做

val li: List[Int] = List(1.1,2.2,3.1,1.11,2.1)

li.updated(0,li(2)).updated(2,li(0))

但是,如果您想完全交换2个随机索引又如何呢?

z4521215 回答:如何交换Scala中的列表中的随机索引?

val li: List[Double] = List( . . )

val x = util.Random.nextInt(li.length)
val y = util.Random.nextInt(li.length)

li.updated(x,li(y)).updated(y,li(x))

注意:当x == y时可能没有交换,但这仍然是安全的,即使是小的List

本文链接:https://www.f2er.com/3120210.html

大家都在问