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 |