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 대체 가능