如何在kotlin中获取ArrayList的最后一项之前的项目?

Ani*_*bla 1 arraylist kotlin

如何在kotlin中获取ArrayList的最后一项之前的项目?

我有一个像

val myList = listOf("item1", "item2", "item3", "item4", "item5")
Run Code Online (Sandbox Code Playgroud)

我想从 myList 中获取“item4”

Bar*_*ski 5

myList[myList.lastIndex - 1]
Run Code Online (Sandbox Code Playgroud)

在调用这个之前一定要检查数组中是否至少有两个项目


编辑:如果您经常使用它,您可以定义一个扩展函数,其作用类似于last()

fun <T> List<T>.secondToLast(): T {
    if (size < 2)
        throw NoSuchElementException("List has less than two elements")
    return this[size - 2]
}
Run Code Online (Sandbox Code Playgroud)