minghxx.blog
  • [stream] map과 forEach
    2024년 11월 29일 10시 30분 32초에 업로드 된 글입니다.
    작성자: 민발자
    728x90

    map이랑 forEach를 언제 사용하는지 정확하게 이해가 안가서 정리

    map()

    중간연산 스트림의 각 요소를 주어진 변환(매핑) 함수에 따라 새로운 스트림의 요소로 변환

    데이터를 변환하는 데 사용

    입력 스트림과 출력 스트림의 타입이 다를 수 있음

     

    forEach()

    최종연산 스트림의 각 요소를 순회하며 처리하는 동작 수행하고 결과 반환하지 않음

    데이터를 변환하지 않고 처리만 수행

    보통 데이터 출력, 로그 기록, 누적 작업 등 사이드 이펙트를 처리할 때 사용

     

    map()과 forEach()의 차이

    특성 map() forEach()
    목적 데이터를 변환(매핑) 데이터를 처리(소비)
    역할 새로운 스트림을 생성 스트림의 각 요소를 처리
    종류 중간 연산 최종 연산
    실행 시점 최종 연산이 호출될 때 실행 즉시 실행
    결과 변환된 요소를 가진 새로운 스트림 반환 반환값 없음
    재사용 가능성 변환된 스트림을 연속적인 연산에 사용가능 스트림이 닫혀 재사용 불가능
    728x90
    댓글