Data Structure

[자료구조] HashMap : java.util.HashMap

openDeveloper 2023. 3. 16. 23:00

  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()

 

}

 

 

https://myu7769.tistory.com/entry/Java-HahsMap-key-or-value-%EC%98%A4%EB%A6%84%EC%B0%A8%EC%88%9C-%EB%82%B4%EB%A6%BC%EC%B0%A8%EC%88%9C

 

[Java] HahsMap, key or value 오름차순, 내림차순

목적 : HashMap으로 데이터를 메모리에 저장한 후 key와 value 값에 따라 오름차순, 내림차순으로 정렬하고 더 나아가 원하는 방법으로 정렬하기 위해서 Collections.sort 함수 내에 함수를 넣어본다. HashM

myu7769.tistory.com

 

'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