최신 게시글(JAVA)
2022.05.02 / 10:44

List> 중복제거 참고

코로나
추천 수 56

/**
     * 참조형객체를 다루는 List 중복제거
     * @param list
     * @return
     */
    public static List<HashMap<String, String>>

                          removeDuplication(List<HashMap<String, String>> list){
        List<HashMap<String, String>> reList = list;
       
        String pk = "";                  // 참조형 객체의 키값
        int limit  = 1;                     // 배열의 limit 값(중복이 없으면 증가처리)
        boolean isRemove = false; // 중복 여부
        for(int i = reList.size() - 1 ; i >= 0; i-- ){     // 배열의 마지막 값부터 비교시작
            isRemove = false;
            pk = reList.get(i).get("id");                    // 비교대상 객체의 키값저장
            for(int j = 0; j < reList.size() - limit; j++){ // 배열의 처음부터 비교시작
                if(reList.get(j).get("id").equals(pk)){ 

                            // 비교대상 키값과 배열에 존재하는 키값이 일치할 경우
                    reList.remove(i);                          // 중복이므로 대상객체 제거
                    isRemove = true;
                    break;
                }
            }
            if(!isRemove) limit ++;                           // 비교객체가 중복이 아니면 증가
        }
        return reList;
    }

[출처] Hanjoong님

http://blog.naver.com/korn123/30144869615



출처: https://devesim.tistory.com/94?category=574758 [데브심의 개발자 레퍼런스]