Kotlin 数组 - slice() 函数



Kotlin 数组的 slice() 函数用于创建一个列表,该列表包含指定索引范围内的数组元素。

索引包含两个参数:startIndexendIndex,这两个参数都是可选参数。默认情况下,startIndex 为 0,endIndex 为数组的长度。

语法

以下是 Kotlin 数组 slice() 函数的语法:

fun <T> Array<out T>.slice(indices: IntRange): List<T>

参数

此函数接受indices 作为参数,表示 startIndex 和 endIndex。

返回值

此函数返回一个列表,其中包含从 startIndex 到 endIndex 的元素。

示例 1

以下是一个基本示例,演示了 slice() 函数的使用:

fun main(args: Array<String>) {
   val numbers = arrayOf<String>("one", "two", "three", "four", "five", "six")
   //slice the element from index 1 to 3
   println("List after slice: " + numbers.slice(1..3))
}

输出

以上代码生成以下输出:

List after slice: [two, three, four]

示例 2

现在,让我们看另一个示例。在这里,我们创建一个整数数组。然后,我们使用slice() 函数以增量 2 步的方式切片数组的元素:

fun main(args: Array<String>) {
   val numbers = arrayOf<Int>(1, 2, 3, 4, 5, 6)
   // slice the element from 0 to 4 with step by 2
   println("List after slice: " + numbers.slice(1..4 step 2))
}

输出

以下是输出:

Array has a slice element: 3

示例 3

在下面的示例中,定义了两个函数 arrSlice 和 strSlice,并使用 slice() 函数切片集合的元素:

fun arrSlice(array: Array<Any>) {
   println("${array.slice(2..5 step 2)}")
   println("${array.slice(1 ..3)}")
}

fun strSlice(string: String){
   println(string.slice(1..14))
   println(string.slice(20 downTo 0))
}

fun main(args: Array<String>){
   var arr = arrayOf<Any>(1, 3, 4, "tutorialspoint", "Hyderabad", 'A')
   var str = "The quick brown fox jumps over the lazy dog"

   //Calling Array function
   arrSlice(arr);

   //Calling String function
   strSlice(str);
}

输出

以下是输出:

​
[4, Hyderabad]
[3, 4, tutorialspoint]
he quick brown
j xof nworb kciuq ehT
kotlin_arrays.htm
广告