프로그래밍/Java

Java - EnumMap에 대한 간단한 사용

seungdols 2015. 9. 15. 16:43

새로 나온 EnumMap이란 ?

Enum을 Instance로 가지며, Key, Value를 저장하는 Map형태


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class EnumMapEx {
    enum enumInstance{
        Low, High, Middle, Error
    }
 
    public static void main(String[] args) {
        /**
         * EnumMap VS HashMap
         * enumMap의 index는 Enum의 내부 순서를 이용하므로 hashMap의 Hashing을 통한 index보다 효율적이다.
         * HashMap의 경우 일정한 이상의 자료가 저장 되면, 자체적으로 Resizing을 한다.
         * 그로 인해 성능 저하가 발생한다. 그러나 EnumMap의 경우 Enum의 갯수로 제한 되므로 Resizing에 대한 성능 저하는 없다.
         * put/get에 있어서 O(1)의 복잡도를 보장한다.(HashMap의 경우 보장 할 수 없다.)
         */
        EnumMap eMap = new EnumMap(enumInstance.class);
 
        eMap.put(enumInstance.High, "High Energy");
        eMap.put(enumInstance.Low, "Low  Energy");
        eMap.put(enumInstance.Middle, "Ready");
        eMap.put(enumInstance.Error, "Error");
 
        String status = eMap.get(enumInstance.High);
        String ready = eMap.get(enumInstance.Middle);
        System.out.println(status);
        System.out.println(ready);
    }
}
cs


  •  무단 수정 및 배포는 금지합니다. 
  •  모든 내용은 본 블로그 운영자가 정리한 내용입니다. 
  •  참조한 정보에 대해서는 출처를 남기고 있습니다.
  •  틀린 내용 / 오류가 포함된 내용은 댓글로 남겨주세요.
  •  choiseungho0822@gmail.com 보내주셔도 됩니다.
  •  Seungdols Wiki 운영중입니다.


반응형