본문 바로가기

Java

HashSet , HashMap 순회

반응형

어떤 id의 객체 remove시에

hashSet 은 iterator로 찾아서 해당 id와 객체의 id가 같은지 비교 후에 제거 하고

hashMap은 해당 id를 포함하는지 봐서 포함하면 그 id를 바로 삭제한다.

(contains 사용)

if(map.contains(id))

map.remove(id); 

이런식.

 

차이가 존재 하는 이유는 hashSet은 인자로 하나만 들어간다.

즉 id와 Member객체가 같이 들어가는 것이 아니고 Member만 들어가므로

Member를 꺼내서 그 아이디를 비교해서 맞으면 Member를 삭제하는 식인데

Hashmap은 id와 그 id의 해당 Member도 같이 들어가므로 id를 알면 그 id를 삭제해 버리면 Member도 삭제됨.

 

 

HashMap 순회

 

HashMap은 순회할 때 key 또는 value 둘중에 하나를 정해서 순회해야 하므로

keySet()은 해쉬맵의 모든 키 값들의 셋임.

Iterator<Integer> ir = hashmap.keySet().iterator();

반응형

'Java' 카테고리의 다른 글

익명 클래스  (0) 2019.11.03
내부 클래스  (0) 2019.11.03
TreeSet  (0) 2019.11.03
Set 중복 처리  (0) 2019.11.03
객체를 참조하는 Set 인터페이스  (0) 2019.11.03