14. 쌍(pair)으로 자료를 관리하는 Map 인터페이스를 구현한 클래스와 그 활용
HashMap 클래스 활용하기
-
Map 인터페이스를 구현한 클래스와
-
가장 많이 사용되는 Map 인터페이스 기반 클래스
-
key - value를 쌍으로 관리하는 메서드를 구현함
-
검색을 위한 자료구조
-
key를 이용하여 값을 저정하고 key를 이용하여 값을 꺼내오는 방식 - hash 알고리즘으로 구현 됨
-
key가 되는 객체는 중복될 수 없고 객체의 유일성을 비교를 위한 equals()와 hashCode() 메서드를 구현해야 함
// Member.java 는 기존과 동일
MemberHashMap.java
public class MemberHashMap {
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(){
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();
}
}
MemberHashMapTest.java
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();
}
}
TreeMap 클래스
-
Map 인터페이스를 구현한 클래스이고 key에 대한 정렬을 구현할 수 있음
-
key가 되는 클래스에 Comparable이나 Comparator인터페이스를 구현함으로써 key-value 쌍의 자료를 key값 기준으로 정렬하여 관리 할 수 있음
Author And Source
이 문제에 관하여(14. 쌍(pair)으로 자료를 관리하는 Map 인터페이스를 구현한 클래스와 그 활용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ldevlog/14.-쌍pair으로-자료를-관리하는-Map-인터페이스를-구현한-클래스와-그-활용저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)