Kotlin/문법

Kotlin - filter, map

내손은개발 🐾 2024. 2. 7. 14:14

filter

컬렉션을 iteration 하면서 주어진 람다에 각 원소를 넘겨서 람다가 true를 반환하는 원소만 필터링

    val list = listOf(1, 2, 3, 4, 5)
    println(list.filter { it % 2 == 0 }) //[2, 4]

 

map

각 원소를 원하는 형태로 변환하는 기능을 하며, 변환한 결과를 모아서 새 컬렉션을 만든다.

결과는 원본 리스트와 원소 개수는 같지만, 각 원소는 주어진 람다에 따라 변환된 새로운 컬렉션이다.

    val list2 = listOf(1, 2, 3, 4, 5)
    println(list.map { it * it })

예시코드

        val monthList = listOf(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
        var day = 0
        
        for (i in 0 until a - 1) {
            day += monthList[i]
        }
		//위에 for문을 한줄로 가능하다.
        day = (0 until a-1).map{ monthList[it] }.sum() + b

.sumOf로 sum 대체 가능

'Kotlin > 문법' 카테고리의 다른 글

Kotlin - reduce, fold  (0) 2024.02.13
Kotlin - 소수 구하기  (0) 2024.02.08
Kotlin - 입력 값 받기 (알고리즘 문제 풀기위한)  (0) 2024.02.06
Kotlin - StringBuilder()  (0) 2024.02.05
Kotlin - List vs Array  (0) 2024.02.05