프로그래밍/JAVA

HashMap

Baesj 2021. 8. 19. 16:09

HashMap는 키(Key)와 값(Value)로 구성되어 있다.

키는 유일해야하지만 값은 중복을 허용한다.

 

시간 복잡도

Get - O(1)

ContainsKey - O(1)

매우 빠르다

 

특징

초기값의 크기는 16이다.

static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16

 

사용률(load factor - 항목수/공간수)이 0.75를 넘으면 리사이징한다.

static final float DEFAULT_LOAD_FACTOR = 0.75f;

 

주요 메서드

 

put() : 데이터를 넣는다

remove() : 객체 제거

get() : 키의 값 반환, 없으면 null;

isEmpty() : 비어있는지 알려줌

clear() : 모든 객체를 제거

size() : 크기 확인

 

import java.util.HashMap;
import java.util.Map;

public class ExHashMap {
    public static void main(String[] args) {
        //선언
        Map<Integer, String> map = new HashMap<>();
        System.out.println(map.isEmpty()); //값이 있는지 확인
        System.out.println(map.size()); //맵의 크기 확인
        map.put(1, "1"); //데이터를 넣는다
        map.put(2, "3");
        map.put(3, "4");
        System.out.println(map.isEmpty()); //값이 있는지 확인
        System.out.println(map.size()); //맵의 크기 확인

        System.out.println(map.get(3)); //데이터 확인
        map.remove(3); //데이터 제거
        System.out.println(map.get(3)); //데이터가 없으면 null을 반환한다

        map.clear(); //전체 삭제
        System.out.println(map.size()); //크기 확인
    }
}