달나라 노트

Kotlin - find, findLast 본문

Kotlin

Kotlin - find, findLast

CosmosProject 2021. 3. 15. 23:53
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.find {x -> x.startsWith("Red", ignoreCase=true)} // 2
    println(var_first)


    var var_last = list_fruit.findLast {it.startsWith("Red", ignoreCase=true)} // 3
    println(var_last)


    var var_contain = list_fruit.find {y -> y.contains("Apple")} // 4
    println(var_contain)


    var var_test = list_fruit.find {it.contains("z")} // 5
    println(var_test)
}



-- Result
Red_Strawberry
Red_Apple
Apple
null

1. list를 생성합니다.

 

2. find 함수를 list에 적용하면 중괄호{} 안에 명시된 조건을 만족하는 요소 중 가장 앞쪽(index가 가장 작은) 요소를 return합니다.

또한 조건으로 startsWith(~~)라는 함수가 사용되었는데 문자열.startWith(~~)이라고 쓰면 해당 문자열이 ~~라는 글자로 시작하면 true, 그렇지 않으면 false를 반환합니다.

또한 startWith(~~) method에서는 ignoreCase라는 옵션이 존재하는데 이것이 true라면 대소문자를 구분하지 않고 매칭하며, false면 대소문자를 다른 것으로 인식하여 진행하게됩니다.

이 경우엔 Red로 시작하는 문자는 Red_Strawberry, Red_Apple 2가지가 있는데 Red_Strawberry가 더 앞에있으니 Red_Strawberry가 return됩니다.

 

3. findLast 함수를 list에 적용하면 중괄호{} 안에 명시된 조건을 만족하는 요소 중 가장 뒤쪽(index가 가장 큰) 요소를 return합니다.

startWith("Red")의 결과로 true를 반환하는 요소는 Red_Strawberry, Red_Apple 2가지가 있는데 Red_Apple이 더 뒤에있으니 Red_Apple이 return됩니다.

 

4. 동일하게 find 함수가 사용되었으나 contains 함수를 보기 위해 4번 예시를 적었습니다.

문자열.contains(~~)라고 적으면 해당 문자열에 ~~라는 글자가 포함되어있으면 true, 그렇지 않으면 false를 반환합니다.

Apple이란 글자를 포함한 텍스트는 Apple, PineApple, Red_Apple 의 3가지 인데 그 중 가장 앞쪽에 있는 Apple이 반환됩니다.

 

5. find함수의 조건의 결과로서 find 함수가 적용된 list의 그 어떤 요소도 find 조건을 만족하지 못하면 null값을 반환합니다.

 

 

 

 

 

 

 

 

 

728x90
반응형

'Kotlin' 카테고리의 다른 글

Kotlin - count  (0) 2021.03.16
Kotlin - first, last, firstOrNull, lastOrNull  (0) 2021.03.16
Kotlin - all, any, none  (0) 2021.03.15
Kotlin - map function  (0) 2021.03.15
Kotlin - filter function  (0) 2021.03.15
Comments