Open yaho99 opened 2 years ago
사용자가 직접 요소를 반복하는 것을 외부 반복(external iteration), 반복을 알아서 처리하고 결과 스트림값을 어딘가에 저장해주는 내부 반복(internal iteration)을 사용한다.
내부 반복을 사용하면 작업을 투명하게 병렬적으로 처리하거나 최적화된 다양한 순서로 처리가 가능하다. 외부 반복에서는 병렬성을 스스로 관리(synchronized 사용)해야 한다.
외부 반복을 사용하면 How 중심의 코드를 짜게 되지만, 내부 반복을 이용하면 What 중심의 코드를 짤 수 있다.
문제
for-each 에서 사용되는 반복 방식을 외부 반복, 스트림에서 사용되는 반복 방식을 내부 반복이라고 한다. 이 둘의 차이점에는 어떤 것이 있을까?
선정 배경
외부 반복과 내부 반복이라는 단어가 어떤 의미를 갖는지 알아보면, for 문과 스트림의 특징 또는 차이점에 대해 이해하는데 도움이 될 것 같아 선정했다.
관련 챕터