Replies: 2 comments
-
for-loop는 외부 반복으로 병렬성을 스스로 관리 해야하지만, stream은 내부 반복으로 멀티 스레드 코드를 구현하지 않아도 병렬로 처리(parallelStream())할 수 있다. stream은 매개변수를 통한 값 복사를 통해 불변성을 지원으로 인한 메모리 증가, 복사로 인한 오버헤드 등으로 속도가 느리다. 이에 비해 for문은 추가적인 추상화 레이어나 함수 호출, 객체 생성 없이 데이터에 직접 접근하기 때문에, 메모리 사용량이 상대적으로 낮다. 일반적으로는 for문이 성능 상 더 빠르지만, 큰 데이터 셋에서는 병렬 스트림을 사용하여 성능 이점을 얻을 수 있다. stream은 선언형으로 컬렉션 데이터를 처리하기 때문에 “무엇을 하는지”에 집중하고, for-loop은 명령형으로 “어떻게”를 보여주므로 stream이 가독성 측면에서 좋다. |
Beta Was this translation helpful? Give feedback.
-
for-loop와 stream 모두 반복적인 작업을 수행하지만 또한 마지막으로 |
Beta Was this translation helpful? Give feedback.
-
.
Beta Was this translation helpful? Give feedback.
All reactions