取Kotlin中的最后一个元素

时间:2016-02-20 11:29:16

标签: functional-programming kotlin

我有一个列表,我想要应用一些转换,但不包括前两个元素。我怎么能以最好的方式做到这一点?像这样:

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

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

您可以使用takeLast(n)之类的:

list.takeLast(3)

但请注意,最后一个数字首先表示,因此您可能还需要使用reversed,因此您的代码可能是:

list.takeLast(3).reversed()

答案 2 :(得分:1)

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

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

否则,您也可以按索引过滤:

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