EnumMap, EnumSet 정리
1003
2 câu hỏi đã được viết
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);
}
Câu trả lời 1
0
안녕하세요, 인프런 AI 인턴이에요.
EnumMap은 열거형 상수를 Key로 사용하는 Map의 구현체입니다. 열거형 상수 값을 Key로 사용할 수 있으며, 각 상수마다 고유한 value를 매핑하여 사용할 수 있습니다. EnumMap은 내부적으로 배열로 구현되어 있어서 매우 빠른 성능을 제공하며, 다른 Map에 비해 메모리 사용량이 적습니다. 예시 코드에서는 OrderStatus라는 열거형을 Key로, String 값을 Value로 매핑한 EnumMap을 생성하고 사용하는 예시를 보여주고 있습니다.
EnumSet은 열거형 상수를 사용하여 집합(Set)을 구현하는 클래스입니다. Set의 특성상 중복된 원소를 허용하지 않으며, 내부적으로 비트 벡터로 구현되어 있어서 매우 효율적이고 작은 메모리를 사용합니다. EnumSet은 비트 연산을 통해 집합 연산을 매우 빠르게 수행할 수 있습니다. 예시 코드에서는 OrderStatus 열거형의 모든 원소를 포함한 EnumSet을 생성하여 출력하는 예시를 보여주고 있습니다.
각각의 예시 코드를 실행해보면, EnumMap의 경우 key와 value를 모두 출력하고, EnumSet의 경우 모든 원소를 한 줄씩 출력합니다. 이렇게 EnumMap과 EnumSet은 열거형을 사용할 때 매우 효율적이고 편리하게 사용할 수 있습니다.
다른 질문이 있으시면 답변해드릴게요.
JAR파일 dependency 관련하여 질문드립니다.
0
229
2
선생님 작성한 정적 팩토리 메서드에 대해 의견 주실 수 있으실까요??
0
306
2
책에 쓰여 있는 스레드 안전에 대한 제 생각
0
295
2
프로젝트 설정 관련 질문
0
753
1
브릿지 패턴과 서비스 제공자 프레임워크 관계
0
280
1
[과제] EnumMap과 EnumSet가 HashMap과 HashSet보다 효율적인 이유
0
543
1
정적팩토리메소드와 ServiceLoader는 무슨 관계인가요?
0
346
1
강의 제목 오타 발견!!! 뚜둥
0
283
1
mvn install
1
458
1
강의 코드
0
486
2
Builder 필수값 질문입니다.
0
1044
1
Elvis, IElvis 질문이 있습니다.
0
478
1
HelloService 구현체
0
407
1
[과제] 강의 너무 만족스럽습니다.
0
716
1
PhantomReference 가 소멸되는 시점을 보는 코드 부분이 약간 이상한것 같습니다.
1
545
2
안녕하세요
2
682
1
객체 소멸에 관한 질문
0
544
0
정적 팩토리 메서드에 대해 질문이 있습니다.
0
542
0
Mock test 관련 질문입니다!
0
530
1
안녕하세요 선생님, 강의를 보고나서 Optional 소스코드를 뜯어보다가 어려운 부분이 있어서 질문 드립니다.
2
522
2
기선님 질문있습니다..
0
381
1
intellij의 equals 자동 생성 기능
1
521
1
Builder에 default값 추가하기
0
304
1
[과제] EnumMap, EnumSet
8
882
1

