diff --git a/backend/src/main/java/wooteco/prolog/roadmap/application/RoadMapService.java b/backend/src/main/java/wooteco/prolog/roadmap/application/RoadMapService.java index 236259aef..450d6be28 100644 --- a/backend/src/main/java/wooteco/prolog/roadmap/application/RoadMapService.java +++ b/backend/src/main/java/wooteco/prolog/roadmap/application/RoadMapService.java @@ -9,11 +9,10 @@ import wooteco.prolog.roadmap.domain.repository.dto.KeywordIdAndDoneQuizCount; import wooteco.prolog.roadmap.domain.repository.dto.KeywordIdAndTotalQuizCount; -import java.util.HashMap; import java.util.List; import java.util.Map; -import static java.util.Objects.isNull; +import static java.util.stream.Collectors.toMap; @RequiredArgsConstructor @Transactional(readOnly = true) @@ -34,25 +33,18 @@ public KeywordsResponse findAllKeywordsWithProgress(final Long curriculumId, fin } private Map getTotalQuizCounts() { - final Map totalQuizCounts = new HashMap<>(); - - for (KeywordIdAndTotalQuizCount totalQuizCount : keywordRepository.findTotalQuizCount()) { - totalQuizCounts.put(totalQuizCount.getKeywordId(), totalQuizCount.getTotalQuizCount()); - } - - return totalQuizCounts; + return keywordRepository.findTotalQuizCount().stream() + .collect( + toMap( + KeywordIdAndTotalQuizCount::getKeywordId, + KeywordIdAndTotalQuizCount::getTotalQuizCount)); } private Map getDoneQuizCounts(final Long memberId) { - final Map doneQuizCounts = new HashMap<>(); - if (isNull(memberId)) { - return doneQuizCounts; - } - - for (KeywordIdAndDoneQuizCount doneQuizCount : keywordRepository.findDoneQuizCountByMemberId(memberId)) { - doneQuizCounts.put(doneQuizCount.getKeywordId(), doneQuizCount.getDoneQuizCount()); - } - - return doneQuizCounts; + return keywordRepository.findDoneQuizCountByMemberId(memberId).stream() + .collect( + toMap( + KeywordIdAndDoneQuizCount::getKeywordId, + KeywordIdAndDoneQuizCount::getDoneQuizCount)); } }