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()); //크기 확인
}
}
'프로그래밍 > JAVA' 카테고리의 다른 글
프로세스와 쓰레드(이해와 구현) (0) | 2021.09.19 |
---|---|
JAVA char <-> String 변환 (0) | 2021.08.25 |
ArrayList와 LinkedList (0) | 2021.08.06 |
자바 replaceAll 정규식 특수문자 제거 (0) | 2021.08.01 |
자바 random 함수와 round 함수 이해 (0) | 2021.07.27 |