티스토리 뷰

반응형


아래와 같이 두개의 LinkedHashMap 이 있다고 가정한다.

LinkedHashMap<String, Object> aMap = { name=kildong, age=22, gender=female };

LinkedHashMap<String, Object> bMap = { name=nara, age=25, gender=male }; 


(tip! 만약, mybatis를 이용해 db쿼리문에서 값을 받아와서 LinkedHashMap에 넣고자 한다면 오라클에선 nvl을 써서 null값도 다른값을 넣어서 다 갖고오는 방식으로 두 LinkedHashMap의 키의 갯수와 이름들은 반드시 맞춰줘야 함)




이제, 키의 갯수와 이름이 동일한 두개의 맵의 값을 비교해보자.

ArrayList<String> diffList = new ArrayList<String>();

Set<String> aKeys = aMap.keySet();

Set<String> bKeys = bMap.keySet();

// 두개 맵의 키를 동일하게 갖고왔어도 한번 더 equals로 확인

if(bKeys .equals(aKeys)){

for(String key : bKeys){

//두 맵의 키를 이용하여 값들을 비교

if( !(aMap.get(key)).equals(bMap.get(key)) ){

//두 값이 다를 때 처리

} else {

//두 값이 같을 때 처리

}

}



반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
반응형