Kotlin数组切片索引

Kotlin数组切片索引,kotlin,Kotlin,假设我想遍历KotlinIntArray中除第一个元素以外的所有元素。目前,我是这样做的: 示例(nums:IntArray):单位{ for(nums.sliceArray中的num(IntRange(1,nums.size-1)))println(num) } 在Python中是否有类似的简单语法(我不想指定nums数组的结束索引): for(num单位为nums[1:]) 我认为您可以使用Kotlin's,它将删除数组的第一个n元素 fun minimalExampleWithDrop(

假设我想遍历Kotlin
IntArray
中除第一个元素以外的所有元素。目前,我是这样做的:

示例(nums:IntArray):单位{
for(nums.sliceArray中的num(IntRange(1,nums.size-1)))println(num)
}
在Python中是否有类似的简单语法(我不想指定
nums
数组的结束索引):

for(num单位为nums[1:])

我认为您可以使用Kotlin's,它将删除数组的第一个
n
元素

fun minimalExampleWithDrop(nums: IntArray): Unit {
    for(num in nums.drop(1)) println(num)
}

minimalExampleWithDrop(intArrayOf(1,2,3,4,5,6))
// 2
// 3
// 4
// 5
// 6
答复:
我想你可以使用Kotlin's,它将删除数组的第一个
n
元素

fun minimalExampleWithDrop(nums: IntArray): Unit {
    for(num in nums.drop(1)) println(num)
}

minimalExampleWithDrop(intArrayOf(1,2,3,4,5,6))
// 2
// 3
// 4
// 5
// 6
答复:

1
作为起始索引的basic

    val myList = intArrayOf(1,2,3,4,5,6)

    for(i in 1 until myList.size){
        Log.d(TAG,"${myList[i]}")
    }
或者,由于它是数组中的
IntArray
,您可以将其用作
迭代器,并跳过如图所示的元素

1
作为起始索引的基本

    val myList = intArrayOf(1,2,3,4,5,6)

    for(i in 1 until myList.size){
        Log.d(TAG,"${myList[i]}")
    }
或者,由于它是数组中的
IntArray
,您可以将其用作
迭代器,并跳过如图所示的元素


Drop会将
IntArray
更改为
列表
,如果需要
IntArray
,则必须将其转换回。它不会更改原始列表。它在新列表中创建数据副本,您可以选择保留对该列表的引用。供参考(来自@robstackoverflow的答案:drop:dropLast:drop将
IntArray
更改为
列表
,如果需要
IntArray
,则必须将其转换回去。它不会更改原始数据。它会在新列表中创建数据副本,您可以选择保留对该列表的引用。仅供参考。)(来自@robstackoverflow的答案:drop:dropLast: