물가에 데이터를 던지는 것
스트림(Stream)**은 Dart에서 비동기적으로 데이터의 흐름을 처리할 수 있는 방식입니다. 데이터를 한꺼번에 처리하는 대신, 스트림은 데이터가 연속적으로 도착할 때마다 그 데이터를 처리하고 반응하는 방식입니다

2.for
루프 방식 (원본수정)
void main() {
var chobab = ["새우초밥", "광어초밥", "연어초밥"];
// chobab[0] = chobab[0]+"_간장";
// chobab[1] = chobab[1]+"_간장";
// chobab[2] = chobab[2]+"_간장";
for (var i = 0; i < chobab.length; i++) {
chobab[i] = chobab[i] + "_간장";
}
print(chobab);
}
- 이 방식은 전통적인
for
루프를 사용하여 리스트의 각 요소를 직접 수정합니다.
- 장점: 단순한 리스트 수정 작업에는 매우 직관적이고, 빠르게 이해할 수 있습니다.
- 단점: 이 방식은 리스트의 각 요소를 하나씩 순회하면서 값을 변경하기 때문에 코드가 긴 경우에 가독성이 떨어질 수 있습니다. 또한, 요소의 값을 직접 수정하기 때문에 원본 리스트를 수정하게 됩니다.
3.map
함수 방식
void main() {
var chobab = ["새우초밥", "광어초밥", "연어초밥"];
//가공
var changeChoba = chobab.map((e) => e + "_간장").toList();
var changeChoba2 = chobab.map((e) {
if (e == "새우초밥") {
return e;
} else {
return e + "_간장";
}
}).toList();
print(changeChoba);
}
- 장점:
- 원본 리스트를 수정하지 않고 새로운 리스트를 반환합니다. 즉, 데이터의 무결성을 유지할 수 있습니다.
- 코드가 더 간결하고 함수형 프로그래밍 패러다임을 따릅니다.
- 원본 데이터를 보존하면서 데이터를 변환하고 싶을 때 유용하다.
- 단점
- 초보자에게 어렵다
요약: 굳이 이렇게 할 이유
데이터의 불변성 유지:
map
함수는 원본 리스트를 변경하지 않고, 새로운 리스트를 반환합니다. 원본 데이터를 수정하지 않음으로써 데이터의 무결성을 유지하고, 오류를 방지할 수 있습니다.Share article