HashMap 자료 구조는 { key : value } 쌍으로 이루어져 있고, 많은 양의 데이터를 검색할 때 뛰어난 성능을 발휘한다.
Key와 value는 원하는 클래스나 데이터로 넣을 수 있고, key는 중복될 수 없으며 value는 중복값이 가능하다. 예시로는 아래처럼 선언하면 된다.
HashMap<Integer, Integer> map = new HashMap<>();
HashMap<String, String> map = new HashMap<>();
HashMap<String, Integer> map = new HashMap<>();
HashMap<class명,class명> map = new HashMap<>();
추가, 검색할때에 시간 복잡도는 O(1) 갖는다. HashMap 생성자와 method는 아래와 같다.
생성자 / 메서드 | 설명 |
HashMap() |
- HashMap 객체를 생성 ex) HashMap<String , Integer> map = new HashMap<String , Integer>(); Map<String, Integer> map = new HashMap<String, integer>(); |
HashMap(int initlalCapacity) |
- 지정된 값을 초기 용량으로 하는 HashMap객체를 생성한다. |
HashMap(int initlalCapacity, float loadFactory) |
- 지정된 값을 초기용량과 load factory의 HashMap 객체를 생성한다. |
HashMap(Map m) |
- 주어진 Map에 저장된 모든 요소를 포함하는 HashMap을 생성한다. |
void clear() |
- HashMap에 저장된 모든 객체를 제거한다. ex) map.clear(); |
Object clone() |
- 현재 HashMap을 복제하여 반환한다. ex) newmap = (HashMap)map.clone(); |
boolean containsKey(Object Key) |
- HashMap에 지정된 키(Key)가 포함되어 있는지 알려준다. |
boolean containsValue(Object Value) |
- HashMap에 지정된 값(Value)가 포함되어 있는지 알려준다. |
Set entrySet() |
- HashMap에 저장된 Key - Value갑슬 엔트리(키와 값을 결합)의 형태로 Set에 저장하여 반환 ex) map.put("A", 1); map.put("B", 2); map.put("C", 3); Set set = map.entrySet(); System.out.println("set values are" + set); (result) set values : [A=1,B=2,C=3] |
Object get(Object Key) |
- 지정된 Key 의 값을 반환한다. ex) map.put("A", 1); map.put("B", 2); map.put("C", 3); String val = (String)map.get("B"); System.out.println("Value for key B is: " + val); (result) Value for key B is 2 |
bloolean isEmpty |
- HashMap이 비어있는지 확인한다. ex) boolean val = map.isEmpty(); |
Set keySet() |
- HashMap에 저장된 모든 키가 저장된 Set을 반환한다. ex) map.put("A", 1); map.put("B", 2); map.put("C", 3); Set keyset = map.keySet(); System.out.println("Key set values are" + keyset); (result) Key set values are [A,B,C] |
Object put(Object Key, Object Value) |
- HashMap에 키와 값을 저장. ex) map.put("A", "aaa"); map.put("B", "bbb"); map.put("C", "ccc"); |
void putAll(Map m) |
- Map에 해당하는 모든 요소를 HashMap에 저장한다. |
Object remove(Object Key) |
- HashMap에서 지정된 키로 지정된 값을 제거한다. ex) map.remove("key"); |
int size() |
- HashMap에 저장된 요소의 개수를 반환한다. |
Collection values() |
- HashMap에 저장된 모든 값을 컬렉션 형태로 반환한다. |
getOrDefault(key , defaultValue) key 값이 없을 때 null 대신 설정된 값을 넣어줌
for( Entry<String, Integer> entry : map.entrySet() ){
entry.getkey() , entry.getvalue()
}
'Data Structure' 카테고리의 다른 글
[자료구조] Heap (0) | 2023.03.19 |
---|---|
[자료구조] LinkedList (0) | 2023.03.17 |
[자료구조] Array와 Arrays class(java.util.Arrays) (0) | 2023.03.15 |
[자료구조] Queue (0) | 2023.03.14 |
[자료구조] Stack (0) | 2023.03.13 |