자바 List 에서 중복되는 값의 갯수를 찾고싶을 때 Collections.frequency

Ada·2022년 11월 18일
0

항해TOL

목록 보기
40/63

여러개의 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으로 변환시켜준 것이다.

profile
백엔드 프로그래머

0개의 댓글