Java - HashMap

iseon_u·2022년 5월 22일
0

Java

목록 보기
59/77
post-thumbnail

HashMap


HashMap 과 Hashtable

순서 ❌ , 중복 키 ❌, 중복 값 ⭕ (중복 ID 불가, 중복 PW 가능)

  • Map 인터페이스를 구현, 데이터를 키와 값의 쌍으로 저장
  • HashMap - 동기화 ❌ , 신버전
  • Hashtable - 동기화 ⭕ , 구버전

HashMap

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

TreeMap

  • 범위 검색과 정렬에 유리한 컬렉션 클래스
  • HashMap 보다 데이터 추가, 삭제에 시간이 더 걸린다. (비교 후 저장)

HashMap 의 키 (key) 와 값 (value)

  • 해싱 (hashing) 기법으로 데이터를 저장
  • 데이터가 많아도 검색이 빠르다.
  • Map 인터페이스 구현, 데이터를 키와 값의 쌍으로 저장

Hashing 해싱

  • 해시 함수 (hash function) 로 해시 테이블 (hash table) 에 데이터를 저장, 검색
  • 해시 테이블은 배열과 링크드 리스트가 조합된 형태
  • 배열의 장점 : 접근성 && 링크드 리스트의 장점 : 변경 유리
  • 해시 테이블에 저장된 데이터를 가져오는 과정
    1. 키로 해시 함수를 호출해서 해시코드를 얻는다.
    2. 해시 코드 (해시 함수의 반환 값) 에 대응하는 링크드 리스트를 배열에서 찾는다.
    3. 링크드 리스트에서 키와 일치하는 데이터를 찾는다.

HashMap 주요 메서드

HashMap()기본 생성자
HashMap(int initialCapacity)생성자 (배열 초기 용량)
HashMap(int initialCapapcity, 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)키가 없을 때 기본 설정 값 반환
boolean containsKey(Object key)키 존재 여부
boolean containsValue(Object value)값 존재 여부
int size()길이 확인
boolean isEmpty비어있는지 확인
void clear()모두 삭제
Object clone()복제
profile
🧑🏻‍💻 Hello World!

0개의 댓글