Knowledge/자료구조

[Java/자료구조] HashMap 자료구조 파헤치기

블로그 주인장 2023. 8. 11.


 

[ 목차 ]

    📢 해시맵(HashMap)

    • Map 인터페이스에 속해 있는 컬랙션이다
    • Key : 해당 Map에 유일하게 있어야 하고, 중복을 허용하지 않지만, 값은 중복이 가능하다.
    • 내부에 키와 값을 저장하는 자료구조를 가지고 있다.
    • Key와 Value이 저장되는 위치를 결정하므로, 삽입한 순서에 따라 정렬되지 않는다.

    📄 해싱(Hashing)

    • 해시 함수에 문자열 입력값을 넣어서 특정한 값으로 추출하는 것을 의미

    ⭐ 해싱의 목적

    1. 인덱싱 : 올바른 위치를 찾는다.
    2. 암호화/복호화 : 인증된 사용자만 볼 수 있다.
    3. 비교 : 짧은 해싱 결과로 비교한다.

    📄 맵(Map)

    • Map : Key와 Value를 두 쌍으로 데이터 보관하는 자료구조이다.
    • 는 맵에 오직 유일하게 있어야함 ,은 중복 상관 X

    📢 HashMap 주요 함수

    • put("Key", "Value") : Map에 데이터를 추
    • remove("Key") : 해당 Key 값 제거
    • clear() : HashMap의 모든 데이터 삭제
    • size() : HashMap의 Key의 갯수 추출
    • get("Key") : 해당 Key값에 맞는 Value 추출
    • containsKey("Key") : "Key"의 존재 유/무 판단 후 true/false 반환
    • Map1.putAll(Map2) : Map2의 값을 Map1에 합친다.
    • Map1.equals(Map2) : Map1과 Map2의 값이 같으면 true, 다르면 false 반환

    📢 HashMap 사용 예시

    import java.util.HashMap;
    
    // Key - Integer / Value - Integer 타입의 Entry를 갖는 HashMap 선언
    HashMap<Integer,Integer> map1 = new HashMap<Integer,Integer>();
    
    // New에서 타입 파라미터 생략 가능
    HashMap<Integer,Integer> map2 = new HashMap<>();
    
    // 초기 용량 지정
    HashMap<Integer,Integer> map3 = new HashMap<>(10);
    
    // 초기값 지정
    HashMap<String,String> map5 = new HashMap<String,String>(){{
        put("Key1", "Value1");
        put("Key2", "Value2");
    }};

    반응형

    'Knowledge > 자료구조' 카테고리의 다른 글

    [Java/자료구조] 해시테이블(HashTable)이란?  (0) 2023.08.11
    [Java/자료구조] 배열  (0) 2023.08.09
    [자료구조][Java] 데크(Deque)  (0) 2023.08.09

    댓글