gpt4 book ai didi

kotlin - 在Kotlin中,asReversed()与reversed()相对?

转载 作者:行者123 更新时间:2023-12-04 21:55:35 48 4
gpt4 key购买 nike

我注意到Kotlin有两个内置方法reversed()asReversed()

两者之间有什么区别吗?还是他们本质上只是在做完全相同的事情?

最佳答案

在Kotlin中,reverse和asReversed都有其独特的功能。

反向函数返回一个具有反向元素顺序的列表:

Reversed Function

asReversed 函数返回原始列表的反向只读 View ,即,原始列表中进行的所有更改都将反射(reflect)在反向列表中。

asReversed Function

两者之间的区别在于,一旦使用了asReversed()函数,原始列表中的任何更改也将反射(reflect)在反向列表中。
但是,当使用reversed()函数时,同样的结果并不成立。它仅用于反向列表。


例:

    val list = mutableListOf(0, 1, 2, 3, 4, 5)

val asReversed = list.asReversed()
val reversed = list.reversed()

println("Original list: $list")
println("asReversed: $asReversed")
println("reversed: $reversed")

list[0] = 10

println("Original list: $list")
println("asReversed: $asReversed")
println("reversed: $reversed")

产出
Original list: [0, 1, 2, 3, 4, 5]
asReversed: [5, 4, 3, 2, 1, 0]
reversed: [5, 4, 3, 2, 1, 0]
Original list: [10, 1, 2, 3, 4, 5]
asReversed: [5, 4, 3, 2, 1, 10]
reversed: [5, 4, 3, 2, 1, 0]

Try it online!

关于kotlin - 在Kotlin中,asReversed()与reversed()相对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57115611/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com