kotlin: 排序:sort/sortDescending/sorted/sortedDescending/reversed/asReversed函数

一,功能

Kotlin提供了以下内建函数来对数组或列表进行排序:

1. sorted(): 返回一个新的已排序的列表,原列表保持不变。

2. sortedDescending(): 返回一个新的已降序排序的列表,原列表保持不变。

3,reversed(): 倒序, 产生新集合,改变原始集合不会影响新集合

4,asReversed(),返回相同集合实例的一个反向视图
    如果原始列表是可变的,那么其所有更改都会反映在其反向视图中

5. sort(): 在原列表上进行排序,不返回新列表。

6. sortDescending(): 在原列表上进行降序排序,不返回新列表。

二,例子

代码:

        //处理按钮点击事件
        binding.button1.setOnClickListener {
            val numbers = mutableListOf(5, 3, 1, 4, 2)
             // 升序排序并返回新列表
            val sortedAscending = numbers.sorted()
            println(sortedAscending) // 输出: [1, 2, 3, 4, 5]

            // 降序排序并返回新列表
            val sortedDescending = numbers.sortedDescending()
            println(sortedDescending) // 输出: [5, 4, 3, 2, 1]

            //反转顺序
            val reversedList = numbers.reversed()
            println(reversedList)    //[2, 4, 1, 3, 5]

            //asReversed,返回相同集合实例的一个反向视图
            // 如果原始列表是可变的,那么其所有更改都会反映在其反向视图中
            val asreversedList = numbers.asReversed()
            println(asreversedList)   //[2, 4, 1, 3, 5]

            numbers.add(88) //对原始集合进行改动
            println(numbers)   //[5, 3, 1, 4, 2, 88]
            println(asreversedList) //原始集合变化,倒序的集合也自动更新了
            // [88, 2, 4, 1, 3, 5]
        }

运行结果:

image

三,例子,改变列表自身

代码:

        //处理按钮点击事件
        binding.button1.setOnClickListener {
            val numbers = mutableListOf(5, 3, 1, 4, 2)
            //必须是可变列表才能用sort()函数
            numbers.sort()
            println(numbers) // 输出: [1, 2, 3, 4, 5]

            numbers.sortDescending()
            println(numbers) // 输出: [5, 4, 3, 2, 1]
        }

运行结果:

image

posted @ 2025-08-23 09:29  刘宏缔的架构森林  阅读(29)  评论(0)    收藏  举报