티스토리 뷰
반응형
아래와 같이 두개의 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 { //두 값이 같을 때 처리 } } } |
반응형
'Java' 카테고리의 다른 글
외부url에서 xml로 파싱해와서 원하는 값만 추출하기 (xPath 사용) (0) | 2018.02.20 |
---|---|
HashMap 에서 최대값(Max) 뽑기 (0) | 2018.01.31 |
(cafe24 카페24 호스팅) Access denied ~~ 에러 뜰 때 (2) | 2017.04.20 |
Generics란? (0) | 2017.02.08 |
System 클래스의 스트림 멤버들 (0) | 2017.02.06 |
댓글