가장 많이 사용되는 Map인터페이스 기반 클래스
key-value를 쌍으로 관리하는 메서드 구현
검색을 위한 자료구조
key가 되는 객체는 중복될 수 있고 객체의 유일성 비교를 위한 equals() hashCode() 메서드 구현해야함
public class MememberHashMap{
private HashMap<Integer, Member> hashMap;
public MemberHashMap()
{
hashMap = new HashMap<Integer, Member>();
}
public void addMember(Member member)
{
hashMap.put(member.getMemberId, member);
}
public boolean removeMember(int memberId){
if(hashMap.containsKey(memberId)){
hashMap.remove(memberId);
return true;
}
System.out.println(memberId + "가 존재하지 않습니다");
return false;
}
public void showAllMember(){
// HashMap 자체로 Iterator 가지고 오는 방법 X, Key나 value중에 택해야함
// 그냥 HashMap 프린트 하면 쌍으로 잘 나옴(toString)
Iterator<Integer> ir = HashMap.keySet().iterator();
while(ir.hasNext()){
int key = ir.next();
Member member = hashMap.get(key);
System.out.println(member);
}
System.out.println();
}
}
public class MemberHashMapTest{
public static void main(String[] args){
MemberHashMap memberHashMap = new MemberHashMap();
Member memberLee = new Member(1001, "이순신");
Member memberKim = new Member(1002, "김유신");
Member memberKang = new Member(1003, "강감찬");
Member memberHong = new Member(1004, "홍길동");
memberHashMap.addMember(memberLee);
memberHashMap.addMember(memberKim);
memberHashMap.addMember(memberKang);
memberHashMap.addMember(memberHong);
memberHashMap.showAllMember();
memberHashMap.removeMember(1004);
memberHashMap.showAllMember();
}
}