takeLast
take 의 반대. 뒤에서 부터 n 개를 취한다
public fun <T> List<T>.takeLast(n: Int): List<T> {
require(n >= 0) { "Requested element count $n is less than zero." }
if (n == 0) return emptyList()
val size = size
if (n >= size) return toList()
if (n == 1) return listOf(last())
val list = ArrayList<T>(n)
if (this is RandomAccess) {
for (index in size - n .. size - 1)
list.add(this[index])
} else {
for (item in listIterator(n))
list.add(item)
}
return list
}
val list = listOf(1, 2, 3, 4, 5)
println(list.takeLast(3)) // [3, 4, 5]
Last updated