* Hash 란?
- Key 를 고정된 크기의 Value 로 저장하는 것
- Key 의 Hash 값을 사용하여 값을 저장하고 key-value 갯수에 따라 동적으로 크기가 증가하는 associate array.
- 평균 시간복잡도는 O(1) 이다.
- 원래 데이터의 값을 Key, 매핑 후 데이터의 값을 Hash value, 매핑 과정을 hashing 이라 한다.
* HashMap 이란?
- Map 인터페이스를 구현한 컬렉션
- 키와 값으로 구성된 Entry 객체를 저장하는 구조를 가지는 자료구조
- 키는 중복 저장 불가능
- 기존에 저장된 키로 값을 지정하면 기존 값은 없어지고 새로운 값이 저장된다.
- 값은 중복 저장 가능
* 선언 및 초기화
HashMap<String,String> map1 = new HashMap<String,String>();//HashMap생성
HashMap<String,String> map2 = new HashMap<>();//new에서 타입 파라미터 생략가능
HashMap<String,String> map3 = new HashMap<>(map1);//map1의 모든 값을 가진 HashMap생성
HashMap<String,String> map4 = new HashMap<>(10);//초기 용량(capacity)지정
HashMap<String,String> map5 = new HashMap<>(10, 0.7f);//초기 capacity,load factor지정
HashMap<String,String> map6 = new HashMap<String,String>(){{//초기값 지정
put("a","b");
}};
* HashMap 함수 List
- put(key) : 값 추가
- putAll(map) : 모든 map 값 추가
- get(key) : value 리턴
- remove(key) : 값 제거
- clear() : 모든 값 제거
- isEmpty() : HashMap이 비어있다면 true 리턴
- keySet() : Key를 Set 객체로 리턴
- values() : Value를 Collection 객체로 리턴
- containsKey(key) : Key를 인자로 전달하고 존재한다면 true 리턴
- containsValue(value) : Value를 인자로 전달하고 존재한다면 true 리턴
- replace(key, value) : 전달된 key의 mapping 되는 기존 value를 전달한 value로 교체하고, 기존 value를 리턴(기존 value가 존재하지 않았다면 null 리턴)
- getOrDefault(key, defaultVal) : key를 가진 value가 존재하지 않을 경우 default 값을 리턴.
참고 블로그 :
https://thkim-study.tistory.com/53
https://coding-factory.tistory.com/556
'자바' 카테고리의 다른 글
[JAVA] HTTP 통신 - HttpURLConnection (2) | 2024.05.09 |
---|---|
[JAVA] Vector 클래스 (0) | 2023.08.18 |
[JAVA] 문자열 상수 풀(String Constant Pool) (0) | 2023.08.16 |
[JAVA] Equals() (0) | 2023.08.16 |
[Java] HashSet (1) | 2023.03.15 |