본문으로 바로가기

map 과 forEach

category KOTLIN/SOURCECODE 2025. 2. 27. 23:22

Kotlin 에서 .map{} 과 .forEach{} 항상 비슷한 느낌이 들어서 이번 기회에 정리. 

.map 의 경우 

  • 반환 값이 있음: 새로운 컬렉션을 생성해서 반환합니다.
  • 변환 목적: 각 요소를 다른 형태로 변환할 때 사용합니다.
  • 불변성: 원본 컬렉션을 변경하지 않고 새로운 컬렉션을 생성합니다.
  • 함수형 프로그래밍: 함수형 프로그래밍 스타일에 적합합니다.

.ForEach 의 경우

 

  • 반환 값이 없음: Unit을 반환하며 새로운 컬렉션을 생성하지 않습니다.
  • 실행 목적: 각 요소에 대해 특정 작업을 수행할 때 사용합니다.
  • 부수 효과: 주로 부수 효과(side effect)를 위해 사용합니다 (예: 로깅, UI 업데이트).
  • 절차적 프로그래밍: 명령형/절차적 프로그래밍 스타일에 가깝습니다.

 

결론적으로 

 

  • .map은 중간 컬렉션을 생성하므로 메모리를 더 사용합니다.
  • .forEach는 중간 컬렉션을 생성하지 않으므로 메모리 사용이 적습니다.

 

리턴값이 필요하지 않으면 forEach 사용하는 것이 더 좋은 선택인거 같다.