달나라 노트

Kotlin - first, last, firstOrNull, lastOrNull 본문

Kotlin

Kotlin - first, last, firstOrNull, lastOrNull

CosmosProject 2021. 3. 16. 00:07
728x90
반응형

 

 

 

 

Original source = play.kotlinlang.org/byExample/01_introduction/01_Hello%20world

 

 

 

fun main() {
    var list_fruit = listOf("Apple", "PineApple", "Red_Strawberry", "Red_Apple", "Yellow_Banana", "Yellow_Yellowmelon") // 1


    var var_first = list_fruit.first() // 2
    println(var_first)

    var var_last = list_fruit.last() // 3
    println(var_last)


    var var_first_apple = list_fruit.first() {x -> x.contains("Apple")} // 4
    println(var_first_apple)

    var var_last_apple = list_fruit.last() {it.contains("Apple")} // 5
    println(var_last_apple)

//    var var_last_watermelon = list_fruit.last() {it.contains("watermelon")} // 6 // List contains no element matching the predicate. Error 발생




    var list_empty = emptyList<Any>() // 7
    println(list_empty)

    var var_first_empty = list_empty.firstOrNull() // 8
    println(var_first_empty)

    var var_last_empty = list_empty.lastOrNull() // 8
    println(var_last_empty)

    
    var var_first_z = list_fruit.firstOrNull() {x -> x.contains("z")} // 8
    println(var_first_z)

    var var_last_z = list_fruit.lastOrNull() {it.contains("z")} // 8
    println(var_last_z)
}



-- Result
Apple
Yellow_Yellowmelon
Apple
Red_Apple
[]
null
null
null
null

1. list를 생성합니다.

 

2. first 함수는 list 속에서 가장 첫 번째 값을 불러옵니다.

 

3. last 함수는 list 속에서 가장 마지막 값을 불러옵니다.

 

4. first 함수와 조건을 동시에 사용하게 되면 조건을 만족하는 값 중 가장 첫 번째 값을 return합니다.

 

5. last 함수와 조건을 동시에 사용하게 되면 조건을 만족하는 값 중 가장 마지막 값을 return합니다.

 

6. 조건에 맞는 값이 없으므로 Error를 발생시킵니다.

 

7. 비어있는 List를 생성합니다.

 

8. firstOrNull 함수나 lastOrNull 함수는 first 함수, last 함수와 동일합니다.

다만 적용된 list가 비어있는 list라던가, 조건에 맞는 값이 없을 경우 Error를 일으키는 first, last함수와 달리 firstOrNull, lastOrNull 함수는 조건에 맞는 값이 없는 경우 null을 반환합니다.

 

 

 

 

 

 

 

728x90
반응형

'Kotlin' 카테고리의 다른 글

Kotlin - sorted, sortedDescending, sortedWith  (0) 2021.03.16
Kotlin - count  (0) 2021.03.16
Kotlin - find, findLast  (0) 2021.03.15
Kotlin - all, any, none  (0) 2021.03.15
Kotlin - map function  (0) 2021.03.15
Comments