【问题标题】:How to shuffle elements of Mutable list in Kotlin?如何在 Kotlin 中打乱可变列表的元素?
【发布时间】:2020-08-09 21:18:19
【问题描述】:

我想创建一个MutableList 的字母表,然后将它们打乱并存储在另一个MutableList 中。

我使用了shuffle() 函数,但它导致原始列表也被打乱,这是我不希望发生的,因为我将使用原始列表将其映射到新打乱的列表。

fun main(){

    val alphabets = ('A'..'Z').toMutableList()
    
    var shuffAlp = alphabets
    shuffAlp.shuffle()

    println(alphabets)
    println(shuffAlp)
}

所以我必须创建两个可变列表,然后随机播放其中一个

val alphabets = ('A'..'Z').toMutableList()
var shuffAlp = ('A'..'Z').toMutableList()
shuffAlp.shuffle()

这可能是一个微不足道的问题,但有没有其他方法可以让我不必创建两个相同的列表?

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    shuffle 会洗牌到原始列表中,shuffled 会洗牌并返回新列表。

    sort & sortedsortBy & sortedByreverse & asReversed 的行为相同:

    fun main(){
        val alphabets = ('A'..'Z').toMutableList()
        val shuffAlp = alphabets.shuffled()
    
        println(alphabets)
        println(shuffAlp)
    }
    

    结果:

    [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]
    [U, B, A, N, H, R, O, K, X, C, W, E, Q, P, J, Z, L, Y, S, M, I, D, V, F, G, T]
    

    【讨论】:

      猜你喜欢
      • 2016-10-04
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 2021-10-28
      • 2013-07-12
      相关资源
      最近更新 更多