46. 스트림에서는 부작용 없는 함수를 사용하라
📌 1. 발표 전 알아야 할 개념
스트림(Stream)
public class StreamTest {
public static void main(String[] args) {
// 짝수를 찾고 제곱하기
List<Integer> numbers = List.of(1, 2, 3, 4, 5);
List<Integer> result = new ArrayList<>();
// 전통적인 방식
for(Integer n : numbers){
if(n % 2==0) {
result.add(n*n);
}
}
System.out.println(result);
// stream 방식
List<Integer> result2 = numbers.stream()
.filter(n -> n%2==0)
.map(n->n*n)
.collect(Collectors.toList());
System.out.println(result2);
}
}📕 2. 부작용
부작용(Side Effect)
☝🏼 3. 스트림에서는 부작용 없는 함수를 사용하라라
3-1. 순수함수(Pure Function)
3-2. for-each VS Stream
3-3. 스트림에서는 부작용 없는 함수를 사용하라
🤨 4. 병렬 스트림에서 부작용이 왜 위험할까?
💨 향후 확장 포인트
Spring에서 Stream 사용 시 주의점
🤖 최종 결론
😶🌫️ 느낀점
Last updated