본문으로 바로가기

EnumMap 과 EnumSet 에 관해서

category 나의 주니어 개발 일기/자료구조 2023. 8. 8. 16:31
728x90
반응형
SMALL

EnumMap

  • 열거형 상수를 Key로 사용하는 Map의 구현체.
  • 열거형 상수 값을 키로 사용할 수 있고, 그 상수 마다 고유한 value를 매핑하여 사용한다.
  • EnumMap은 내부적으로 배열로 구현되어 있어, 매우 빠른 성능을 제공
  • 특히 다른 맵보다 메모리 사용량이 적다.
static EnumMap<OrderStatus, String> korMap = new EnumMap<>(OrderStatus.class) {
    {
        put(PREPARING, "준비중");
        put(SHIPPED, "출고완료");
        put(DELIVERING, "배송중");
        put(DELIVERED, "배송완료");
    }
};

public static void main(String[] args) {
    OrderStatus.korMap.forEach((key, value) -> System.out.println(key + " " + value));
}

EnumSet

  • 열거형 상수를 사용하여 집합(Set)을 구현체
  • Set의 특성상 중복된 원소를 허용하지 않음.
  • EnumSet은 내부적으로 비트 벡터로 구현되어 있어 매우 효율적이고 작은 메모리를 사용.
  • 비트연산을 통해 집합 연산을 매우 빠르게 수행
static EnumSet<OrderStatus> allOrderStatus = EnumSet.allOf(OrderStatus.class);

public static void main(String[] args) {
        allOrderStatus.forEach(System.out::println);
    }

출처:

https://www.inflearn.com/course/lecture?courseSlug=%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C-%EC%9E%90%EB%B0%94-1&unitId=108798&tab=community&category=questionDetail&q=966697

728x90
반응형
LIST

'나의 주니어 개발 일기 > 자료구조' 카테고리의 다른 글

대칭키,비대칭키  (0) 2023.09.21
TreeSet에 관하여  (0) 2023.08.08
해시충돌  (0) 2023.08.03