본문 바로가기

Personal Posting/Web

forEach vs map

 

forEach와 map은 Dart에서 컬렉션을 탐색하는 데 사용되는 메서드로, 각각의 사용 목적과 반환 값에 차이가 있다.

 

forEach:

List<int> numbers = [1, 2, 3, 4, 5];

numbers.forEach((number) {
  print(number * 2);
});
  • 사용목적
    - forEach는 컬렉션의 각 요소에 대해 특정 동작을 수행하고자 할 때 사용된다.
    - 주로 컬렉션을 반복하면서 각 요소에 대해 일련의 작업을 수행하고 싶을 때 활용된다.
  • 반환 값
    - forEach는 반환 값이 없다. void를 반환하며, 각 요소에 대해 주어진 동작이 실행된다.

map:

List<int> numbers = [1, 2, 3, 4, 5];

List<int> doubledNumbers = numbers.map((number) => number * 2).toList();

print(doubledNumbers);  // Output: [2, 4, 6, 8, 10]
  • 사용목적
    - map은 각 요소를 변환하여 새로운 컬렉션을 생성하고자 할 때 사용된다.
    - 각 요소를 변환한 결과를 새로운 컬렉션으로 만들어 반환한다.
  • 반환 값
    - map은 변환된 결과로 이루어진 새로운 Iterable 컬렉션을 반환합니다.

결론:

  • forEach: 각 요소에 대한 동작을 수행하며 반환 값이 없음.
  • map: 각 요소를 변환하여 새로운 컬렉션을 반환함.