diff --git a/src/main/java/com/dnd/namuiwiki/domain/survey/model/dto/GetSurveyResponse.java b/src/main/java/com/dnd/namuiwiki/domain/survey/model/dto/GetSurveyResponse.java index 753a1a9a..6bd8bf4b 100644 --- a/src/main/java/com/dnd/namuiwiki/domain/survey/model/dto/GetSurveyResponse.java +++ b/src/main/java/com/dnd/namuiwiki/domain/survey/model/dto/GetSurveyResponse.java @@ -13,7 +13,9 @@ import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Getter @AllArgsConstructor @@ -48,14 +50,12 @@ public static GetSurveyResponse from(Survey survey, List questions) { } private static List pairQuestionAndAnswer(Survey survey, List questions) { - var size = questions.size(); + Map questionMap = new HashMap<>(); + questions.forEach(question -> questionMap.put(question.getId(), question)); + var answers = survey.getAnswers(); List questionAndAnswerList = new ArrayList<>(); - for (int i = 0; i < size; i++) { - var question = questions.get(i); - var answer = answers.get(i); - questionAndAnswerList.add(SingleQuestionAndAnswer.from(question, answer)); - } + answers.forEach(answer -> questionAndAnswerList.add(SingleQuestionAndAnswer.from(questionMap.get(answer.getQuestion().getId()), answer))); return questionAndAnswerList; }