Kotlin 문법 map, forEach
  • map : 리스트의 모든 요소에 대해 특정 함수를 적용한 결과를 새로운 리스트로 반환
  • forEach : 리스트의 모든 요소에 대해 특정 함수를 적용
  • 개인적으로 둘의 차이점 중 가장 큰 것은 반환을 하느냐 안하느냐에 있다고 생각한다.
  • map은 새로운 리스트를 반환하지만 forEach는 반환하지 않는다.
  • 그리고 map의 경우 기본적인 반환 타입은 List이다.
// map 예시
val people = listOf("김영수", "홍길동", "최기사")
var mapPeople = people.map { it + "님" }
-> [김영수님, 홍길동님, 최기사님]으로 출력

// forEach 예시
val people = listOf("김영수", "홍길동", "최기사")
people.forEach { println(it + "님") }
-> 김영수님, 홍길동님, 최기사님 순으로 출력
  • 위처럼 map의 경우에는 안에서 내용을 변경하면 그것을 그대로 반환한다.
  • forEach의 경우는 안에 변수를 넣어서 사용할 수 있다.

Kotlin map, forEach vs for 문
  • 결국, 모두 리스트의 모든 요소에 대해 특정 함수를 적용하는 것이다.
  • 그래서 리스트 값을 돌릴 수도 있고, 특정 값을 순서대로 넣어서 돌릴 수도 있다.
// map forEach 예시
// 1~10까지의 숫자 출력
(1..10).forEach{ println(it) }
-> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 순으로 출력

// 같은 문법의 for 문
for(i in 1..10) {
  println(i)
}
-> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 순으로 출력

// 배열값을 출력하면
// map forEach
val arr = arrayOf(1, 2, 3, 4, 5)
arr.forEach { println(it) }
-> 1, 2, 3, 4, 5 순으로 출력

// for 문
for(i in arr) {
  println(i)
}
-> 1, 2, 3, 4, 5 순으로 출력

태그:

카테고리:

업데이트:

댓글남기기