在 Kotlin 中取最后 n 个元素

Take last n element in Kotlin

我有一个列表,我想对其应用一些转换,但不包括前 2 个元素。我怎样才能做到最好?像这样:

list.reversed().take(list.size - 2)...(my transformations)

list.excludeFirstN(2)...(my transformations)

哦,我找到了drop()函数。

您可以像这样使用takeLast(n)

list.takeLast(3)

但要注意,最后一个数字先表示,所以你可能还需要使用 reversed,所以你的代码可能是:

list.takeLast(3).reversed()

如前所述,drop 非常适合用例:

listOf(1,2,3,4).drop(2).forEach(::println)

否则,您也可以按索引筛选:

listOf(1,2,3,4).filterIndexed { index, _ -> index > 1 }.forEach(::println)