Dart에서는 컬렉션을 처리할 때 다양한 메소드를 사용할 수 있습니다. 이 중에서 map
, where
, forEach
는 리스트, 맵 등의 컬렉션을 조작하는 데 자주 사용됩니다. 이 메소드들은 컬렉션의 각 요소에 대해 작업을 수행하고, 필요한 경우 새로운 컬렉션을 반환하거나, 특정 조건에 맞는 요소들을 필터링하거나, 각 요소에 대해 특정 작업을 수행합니다.
Iterable
Iterable
map
을 사용합니다.where
를 사용합니다.forEach
를 사용합니다.void main() {
List<int> numbers = [1, 2, 3, 4, 5];
// map을 사용하여 각 요소를 제곱
List<int> squaredNumbers = numbers.map((number) => number * number).toList();
print('Squared Numbers: $squaredNumbers'); // [1, 4, 9, 16, 25]
// where를 사용하여 짝수만 필터링
List<int> evenNumbers = numbers.where((number) => number.isEven).toList();
print('Even Numbers: $evenNumbers'); // [2, 4]
// forEach를 사용하여 각 요소 출력
print('Original Numbers:');
numbers.forEach((number) => print(number));
// 출력:
// 1
// 2
// 3
// 4
// 5
}
map
, where
같은 메소드의 사용이 성능에 영향을 미칠 수 있습니다. 필요한 경우 효율성을 고려하여 사용합니다.map
과 where
는 새로운 컬렉션을 반환하므로, 기존 컬렉션의 불변성을 유지할 수 있습니다. 이는 상태 관리에 유리합니다.