새로 나온 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 |
|
반응형
'프로그래밍 > Java' 카테고리의 다른 글
객체의 직렬화! Serialization 이야기 (0) | 2015.09.19 |
---|---|
Stream 관련 - 예전 방식 vs Stream (0) | 2015.09.18 |
Java - Reflection (0) | 2015.09.15 |
Java - 객체 참조시 자료형을 인터페이스를 선호하라. (0) | 2015.09.15 |
Java - String (0) | 2015.09.15 |