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]
}
运行结果:
三,例子:
代码:
//处理按钮点击事件
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]
}
运行结果: