0%

HashMap

HashMap과 Hashtable

  • Map인터페이스를 구현. 데이터를 키와 값의 쌍으로 저장
  • 순서X, 중복(키X, 값O)
  • HashMap(동기화x)은 Hashtable(동기화O)의 신버전

HashMap

  • Map인터페이스를 구현한 대푲거인 컬렉션 클래스
  • 순서를 유지하려면, LinkedHashMap클래스를 사용하면 됨

HashTable

  • 배열 + 링크드리스트

TreeMap

  • 범위 검색과 정렬에 유리한 컬렉션 클래스
  • HashMap보다 데이터추가, 삭제에 시간이 더 걸림

해싱(hashing)

  • 해시 함수로 해시테이블에 데이터를 저장, 검색
  • 해시테이블은 배열과 링크드 리스트가 조합된 형태
메서드 설명
HashMap() 기본 생성자
HashMap(int initialCapacity) 배열 초기용량지정
HashMap(int initialCapacity, float loadFactor) 배열 초기용량지정
HashMap(Map m) 다른 맵을 해쉬맵으로 변경
Object put(Object key, Object value) 데이터 저장
void putAll(Map m) 지정된 맵에 있는것들을 저장
Object remove(Object key) 삭제
Object replace(Object key, Object value) 변경
boolean replace(Object key, Object oldValue, Object newValue) 변경
Set entrySet() 키와 값쌍들을 가진 엔트리(키+값)들을 가져옴
Set keySet() 키를 가져옴
Collection values() 값을 가져옴
Object get(Object key) 특정 키값으로 값을 반환
Object getOrDefault(Object key, Object defaultValue) 특정 키값이 없을시 default값을 반환
boolean containKey(Object key) 키가 있는지 반환
boolean containsValue(Object value) 값이 있는지 반환
int size() 크기를 반환
boolean isEmpty() 비었는지 확인
void clear() 모두 삭제
Object clone() 복제

예제1)

image)image

예제4)

image

image