map.entrySet() : map을 set으로 변경 => Set<Map.Entry<>> 와 같은 독특한 타입의 Set이 생성된다.
stream.forEach() 와 같이 사용 가능하며, 각각의 요소에 대해 getKey(), getValue()로 값을 가져올 수 있다.
멀티쓰레드를 이용해서 병렬적으로 스트림을 사용하는 방법
순서를 보장할 수 없으며, 항상 성능이 좋은 것은 아니다.
고수준 컴포넌트가 저수준 컴포넌트에 의존하지 않도록 관계를 "역전" 시키는 것
저수준 컴포넌트: 구체적인 기술에 의존하는 클래스
테스트 코드만을 위한 대역 클래스
과제 프로젝트 때 Stream API를 최대한 활용해서 손에 익히기