TIL 20240213 - map과 forEach는 어떤 것이 다를까?

2024. 2. 13. 20:06개발일지

공부를 하면서 map과 forEach의 차이에 대해서 궁금했다.비슷하다고는 생각했는데 ,,, 과연 어떤 것이 다르길래 구분을 하고 있는걸까 하고찾아보게되었고 정리를 해두려고 한다.

 

 

map과 forEach는 집합 객체의 데이터 수만큼 반복하여 실행하는 것을 동일하다.

val list = listOf(1, 2, 3, 4)
println(list.map { it * it }) //제곱 만들기 (1x1, 2x2, 3x3, 4x4)
[1, 4, 9, 16]
val result = list.filter { it > 10 } .forEach { println(it) }

 

 

forEach()가 배열 요소마다 한 번씩 주어진 함수를 실행하는 것과 달리,

map()은 배열 내의 모든 요소 각각에 대하여 주어진 함수(콜백)를 호출한 결과를 모아 새로운 배열을 반환한다는 특징을 가지고 있다.

 

또한 forEach()는  기존의 Ararry를 변경하는 반면, map()은 새로운 Ararry를 반환한다.

성능면에서는 map이 forEach보다 빠르고 유리하므로 상황에 따라 맞게 사용하면 된다고 한다.

'개발일지' 카테고리의 다른 글

TIL 20240220 - 대용량 프로젝트(GIGABOX) (5) 캐시와 레디스 1  (0) 2024.02.20
WIL 20240218  (0) 2024.02.18
WIL 20240210  (2) 2024.02.10
TIL 20240207 - 페이지네이션과 논리적 삭제  (0) 2024.02.07
WIL 20240203  (0) 2024.02.03