1. 스트림이 생기게 된 배경 통상적으로 많은 수의 데이터를 다룰 때 컬렉션이나 배열에 데이터를 담고 for문과 Iterator를 이용해서 코드를 작성해왔다. 그러나 이러한 방식으로 코드를 작성한다면 너무 길고 알아보기 어려우며 재사용성도 떨어진다. 또한, 데이터 소스마다 다른 방식으로 다루어야 한다. 예를 들어 List를 정렬할 때는 Collections.sort(); 배열을 정렬할 때는 Arrays.sort(); 이러한 문제점을 해결하기 위해 스트림이 만들어졌다. 스트림은 데이터 소스를 추상화 함으로써 데이터 소스가 무엇이든 간에(List, Set, Map, 배열, 파일에 저장된 데이터 등) 같은 방식으로 다룰 수 있게 되었으며 이로 인해 코드의 재사용성이 높아졌다. 2. 스트림 생성 //주문 상품 ..