Java & Kotlin
[Java 자료구조] Map 인터페이스 활용
Sue
2022. 2. 13. 09:55
HashMap 클래스
- 가장 많이 사용되는 Map 인터페이스 기반 클래스
- 검색을 위한 자료구조
- key-value를 쌍으로 관리하는 메서드를 구현
- key를 이용하여 값을 저장하고 값을 꺼내오는 방식 (hash 알고리즘)
- key가 되는 객체는 중복될 수 없고 유일성을 비교하기 위한 equals(), hashCode() 메서드 재정의 필요
HashMap 메서드
- V put(K,V) : 요소 추가
- V get(K) : K를 key로 갖는 value 가져옴
- Set<K> keySet() : 모든 key 출력
- Collection<V> values() : 모든 value 출력
- boolean containsKey(Object key) : 해당 key가 있으면 true 반환
- boolean containsValue(Object value) : 해당 value가 있으면 true 반환
[Java 자료구조] Set 인터페이스 활용
HashSet 클래스 가장 많이 사용되는 Set 인터페이스 기반 클래 멤버의 중복 여부를 체크하기 위해 인스턴스의 동일성을 체크해야 함 동일성을 구현하기 위해 HashSet이 관리할 클래스의 equals(), hashCod
suaring.tistory.com
MemberHashMap.java
package ch15;
import java.util.HashMap;
import java.util.Iterator;
public class MemberHashMap {
private HashMap<Integer,Member> hashMap;
public MemberHashMap() {
hashMap = new HashMap<>();
}
public void addMember(Member member) {
hashMap.put(member.getMemberId(), member);
}
public boolean removeMember(int memberId) {
if(hashMap.containsKey(memberId)) {
hashMap.remove(memberId);
return true;
}
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(hashMap);
}
}
TreeMap
- TreeSet + HashMap의 기능
- key가 되는 클래스에 Comparable 또는 Comparator를 구현하여 key값을 기준으로 정렬하여 관리할 수 있음