如何在Scala中随机播放(随机化)列表?

改组列表元素

改组列表元素正在随机化列表元素的索引。因此,list('A','B','C','D')将作为list('C','A','D','B')改组。

要随机播放列表中的元素,我们将使用Random类的shuffle方法。

语法:

    Random.shuffle(list)

该方法获取一个列表,并返回一个列表,该列表中的元素经过改组。

让我们举几个例子来随机化Scala中的列表,

范例1:

import scala.util.Random

object MyClass {
    
    def main(args: Array[String]) {
        val list = List('A', 'B', 'C', 'D', 'E')
        println("名单: " + list)
        println("改组列表元素...")
        println("随机排列的列表: " + Random.shuffle(list))
    }
    
}

输出结果

RUN 1:
名单: List(A, B, C, D, E)改组列表元素...
随机排列的列表: List(A, B, E, C, D)RUN 2:
名单: List(A, B, C, D, E)改组列表元素...
随机排列的列表: List(E, D, A, B, C)

说明:

在这里,我们创建了一个字符列表,然后使用shuffle方法将列表中的元素随机化。

示例2:使用范围创建列表并对其进行混排。

import scala.util.Random

object MyClass {
    
    def main(args: Array[String]) {
        val list = List.range(5, 10)
        println("改组列表元素,范围为5到10 ...")
        println("随机排列的列表: " + Random.shuffle(list))
    }
    
}

输出结果

RUN 1:
改组列表元素,范围为5到10 ...
随机排列的列表: List(6, 9, 8, 7, 5)

RUN 2:
改组列表元素,范围为5到10 ...
随机排列的列表: List(5, 8, 9, 6, 7)

说明:

在这里,我们使用列表的range方法在该范围内给定的值内创建一个列表,然后使用Random类的shuffle方法对列表元素进行shuffle。