kotlin: slice函数:切片

一,功能

切片 是一个基本操作:它根据索引返回集合中某个范围的元素。

如果你使用 slice() 方法,就可以根据索引范围或具体的索引集合获取一个新的集合。
返回的是一个新集合,包含给定索引处的元素。

要注意的问题:
1,要避免下标越界。
2,Slice是根据索引进行截取的。所以Map 是没有Slice函数的。

二,例子:

代码:

        //处理按钮点击事件:
        binding.button3.setOnClickListener {
            val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

            // 指定范围,获取第 1 到第 5 个元素
            println("指定范围:"+list.slice(0..4)) // 输出:[1, 2, 3, 4, 5]

            // 指定范围和步长, 获取第 1 到第 5 个元素(间隔为2)
            println("指定范围和步长:"+list.slice(0..5 step 2)) // 输出:[1, 3, 5]

            // 使用倒序和步长, 获取第 5 到第 1 个元素
            println("指定倒序范围和步长:"+list.slice(4 downTo 0 step 2)) // 输出:[5, 3, 1]

            // 指定下标,获取元素
            println("指定下标:"+list.slice(listOf(0, 2, 4))) // 输出:[1, 3, 5]
        }

运行结果:

image

三,例子:

代码:

        //处理按钮点击事件
        binding.button4.setOnClickListener {
            val numbers = listOf("one", "two", "three", "four", "five", "six")
            // 指定范围
            println("指定范围:"+numbers.slice(1..3).toString()) // 打印结果[two, three, four]
            // 指定下标
            println("指定下标:"+numbers.slice(setOf(3, 5, 0)).toString())  // 打印结果[four, six, one]
            // 指定范围和步长
            println("指定范围和步长:"+numbers.slice(0..4 step 2).toString()) // 打印结果[one, three, five]
        }

运行结果:

image

 

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