개발일지 - 리스트 중복 제거

아침7시개발·2022년 1월 17일
0

개발일지

목록 보기
5/19

db에서 조회한 리스트 값에서 필요한 column만 리스트로 변환한다.

intervalList.stream().map(EbCurriculumInterval::getCategCd).collect(Collectors.toList());

변환 후 리스트를 보니 중복값이 존재했다.
이 중복값을 제거하기 위해 두가지 방법이 존재한다.

한가지는 Stream을 사용하는 것이다.

    public static List<String>distinctList(List<String> list){
        return list.stream().distinct().collect(Collectors.toList());
    }

나는 공통소스로 빼서 사용했다.

CommonUtils.distinctList(intervalList.stream().map(
EbCurriculumInterval::getCategCd).collect(Collectors.toList()));

두번째는 Set을 이용하는 방법이다.
이 방법은 list -> set -> list로 변경하는 간단한 방법이다.

// List 준비
List<String> list = Arrays.asList("A", "B", "C", "A");
// List를 Set으로 변경
Set<String> set = new HashSet<String>(list);
// Set을 List로 변경
List<String> newList =new ArrayList<String>(set);

이런식으로 사용하면 중복이 사라진다.

profile
쉬엄쉬엄하는 개발자

0개의 댓글