In Kotlin, both reversed and asReversed have their own unique functions.
The **Reverse** function returns a list with elements in reversed: order.
[Reversed Function](
[To see links please register here]
)
Whereas, the **asReversed** function returns a reversed read-only view of the original List i.e., all changes made in the original list will be reflected in the reversed one.
[asReversed Function](
[To see links please register here]
)
**The difference between the two are that once the asReversed() function has been used, any changes in the original list will be reflected in the reversed list as well.
But the same doesn't hold valid or true when the reversed() function is being used. It's merely used to reverse a list.**
Example:
```
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")
```
Outputs
```
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!](
[To see links please register here]
"Kotlin – Try It Online")