본문 바로가기
🌈 백엔드/자료구조

자료구조_검색 ⑥ 해싱 검색 - 해쉬맵 Hashmap

by 개발자 알마 2023. 6. 19.
반응형

 

[1] Hashmap정의 


 

  • Map 인터페이스를 구현한 클래스와
  • 가장 많이 사용되는 Map 인터페이스 기반 클래스
  • key - value를 쌍으로 관리하는 메서드를 구현함
  • 검색을 위한 자료구조
  • key를 이용하여 값을 저정하고 key를 이용하여 값을 꺼내오는 방식 - hash 알고리즘으로 구현 됨
  • key가 되는 객체는 중복될 수 없고 객체의 유일성을 비교를 위한 equals()와 hashCode() 메서드를 구현해야 함

 

 

HashMap map = new HashMap() 


 

  • put() (key , value 의 값을 넣는다)
        HashMap a1 = new HashMap();

        a1.put("apple", 9000);
        a1.put("banana", 10000);
        a1.put("kiwi", 11000);

		// 출력되는 값은 입력한 순서와 상관없이 뜬다 
        System.out.println(a1);    ----> {banana=10000, apple=9000, kiwi=11000}

 

  • get() (key를 찾아서 value를 출력하라)
        HashMap a1 = new HashMap();

        a1.put("apple", 9000);
        a1.put("banana", 10000);
        a1.put("kiwi", 11000);

        System.out.println(a1.get("banana"));    ---> 10000
        System.out.println(a1.get("orange"));    ----> null (없음)

 

  • size() (Map의 인덱스가 몇개 있는가)
       HashMap a1 = new HashMap();

        a1.put("apple", 9000);
        a1.put("banana", 10000);
        a1.put("kiwi", 11000);

        System.out.println(a1.size());  -----> 3

 

  • remove (key를 찾아서 삭제하기)
        HashMap a1 = new HashMap();

        a1.put("apple", 9000);
        a1.put("banana", 10000);
        a1.put("kiwi", 11000);

 		// key 를 삭제하여 value 가 몇인지를 출력했다
        System.out.println(a1.remove("kiwi")); -----> 11000 
        
        System.out.println(a1.remove("orange"));  ----> null  (없음)
        System.out.println(a1); ---->  {banana=10000, apple=9000}

 

  • containsKey (key가 있는지 찾기)
        HashMap a1 = new HashMap();

        a1.put("apple", 9000);
        a1.put("banana", 10000);
        a1.put("kiwi", 11000);

        System.out.println(a1.containsKey("apple"));   ---> true
        System.out.println(a1.containsKey("orange")); ----> false

 

 

 

 

반응형

댓글