/**
* 참조형객체를 다루는 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님
'Java' 카테고리의 다른 글
Apache POI 엑셀 저장 시 높이를 자동으로 설정하기 (0) | 2023.02.01 |
---|---|
Apache Poi 병합셀 테두리 문제 해결 (2) | 2020.08.06 |
큰 금액 double 형식을 문자열로 나타낼 때 (0) | 2020.02.21 |
서버에 있는 PDF 파일을 웹페이지에서 보여주는 방법 (1) | 2019.10.17 |
CompileClassNotFound 에러 처리 (0) | 2018.02.14 |