polarHub25 / StudyLog

0 stars 1 forks source link

item37. Enummap 버전은 언제나 식물의 생애주기당 하나씩의 중첩 맵을 만들지만, 스트림 버전에서는 해당 생애주기에 속하는 식물이 있을때만 만든다. (228p) #36

Closed polarHub25 closed 3 months ago

polarHub25 commented 3 months ago

Enummap 버전은 언제나 식물의 생애주기당 하나씩의 중첩 맵을 만들지만, 스트림 버전에서는 해당 생애주기에 속하는 식물이 있을때만 만든다. ==> 이 경우에 EnumMap과 Stream 중에 효율성이 더 좋은것은 무엇인지 이야기해보고 싶습니다.

donghyeon3813 commented 3 months ago

EnumMap을 for-loop문을 활용해 생성하는 방법과 stream을 활용해 EnumMap을 생성하는 방식 중의 만들어져야 할 데이터가 적거나 보통일 때는 두 방식의 성능 차이는 많지 않다고 하며 이때는 stream을 통해 코드의 가독성을 살리는 것이 효율성이 좋다고 생각하며 데이터가 많을 때는 stream을 활용하였을 때 오버헤드가 발생할 수도 있다고 하므로 for-loop 방식을 채용하는 것이 맞다고 생각합니다. 데이터의 양에 대해 적고, 많음의 기준은 상황마다 생성되어야 하는 자원이 다르므로 두 방식을 모두 구현하여 비교하는 방법밖에 없을 것 같습니다.