여러개의 String 결과값을 List에 넣고, 그 List에서 중복되는 값의 count를 세어야 했다.
열심히 구글링 해본 결과
Collections.frequency 라는 함수가 있었다.
List<String> resultList = new ArrayList<>();
for (Long ans : leftAns) {
String leftResult = questionRepository.findByLeftId(ans).getLeftAnswer();
resultList.add(leftResult);
// 중복값 제거를 위해 set 안에 다시 한 번 결과값 넣어주기
leftSet.add(leftResult);
// 리스트 안의 문자열 포함 횟수를 세어주는 frequecy 메소드 사용
Long count = Long.valueOf(Collections.frequency(resultList, leftResult));
countAns.put(leftResult, count);
}
위에서 사용한 예 처럼
int count = Collections.frequency(List, String)
이렇게 작성하면 List 안에 String이 몇 번 포함되어 있는지 int 값으로 반환된다.
나는 Map을 활용하기 위해서 Long으로 변환시켜준 것이다.