Java/패스트캠퍼스
Map 인터페이스 구현 클래스
hs_developer
2022. 6. 12. 14:34
HashMap 클래스 활용하기
-가장 많이 사용되는 Map 인터페이스 기반 클래스
-key-value를 쌍으로 관리하는 메서드를 구현 함
-검색을 위한 자료 구조
-key를 이용해 값을 저장하고, key를 이용해 값을 꺼내오는 방식 - hash 알고리즘으로 구현 됨
-key가 되는 객체는 중복될 수 없고 객체의 유일성 비교를 위한 equals()와 hashCode() 메서드를 구현해야 함
{1001=Kim, 1002=Lee, 1003=Park, 1004=Hong}
@Getter
@Setter
public class Member {
// 멤버 변수 선언
private int memberId;
private String memberName;
// 생성자 초기화
public Member(int memberId, String memberName)
{
this.memberId = memberId;
this.memberName = memberName;
}
// 동일성 구현
@Override
public int hashCode() {
return memberId;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Member)
{
Member m = (Member)obj;
if(this.memberId == m.memberId)
return true;
else return false;
}
return false;
}
}
import java.util.HashMap;
import java.util.Iterator;
public class MemberHashMap {
// key: Integer, value: Member
private HashMap<Integer, Member> hashMap;
public MemberHashMap()
{
hashMap = new HashMap<>();
}
public void addMember(Member m)
{
hashMap.put(m.getMemberId(), m);
}
public boolean removeMember(int memberId)
{
if(hashMap.containsKey(memberId))
{
hashMap.remove(memberId);
}
System.out.println("no element");
return false;
}
public void showAllMember()
{
Iterator<Integer> ir = hashMap.keySet().iterator();
while(ir.hasNext())
{
int key = ir.next();
Member m = hashMap.get(key);
System.out.println(m);
}
}
}
import java.util.HashMap;
public class MemberHashMapTest {
public static void main(String[] args) {
// HashMap
HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
hashMap.put(1001, "Kim");
hashMap.put(1002, "Lee");
hashMap.put(1003, "Park");
hashMap.put(1004, "Hong");
System.out.println(hashMap);
}
}