EnumMap в Java

EnumMap

Высоко производительное отображение (map).

В качестве ключей используются элементы перечисления, что позволяет реализовывать EnumMap на базе массива.

Null ключи запрещены. Null значения допускаются.

Не синхронизировано.

Все основные операции с EnumMap совершаются за постоянное время. Как правило EnumMap работает быстрее, чем HashMap.

Создать объект EnumMap:

private EnumMap<PCounter, String> em = null;
private enum PCounter {UNO, DOS, TRES, CUATRO};
em = new EnumMap<PCounter, String>(PCounter.class);

Создать синхронизированный объект EnumMap:

private Map<PCounter, String> em = null;
em = Collections.synchronizedMap(new EnumMap<PCounter, String>(PCounter.class));

Значения ключей известны, т.к. это элементы перечисления, поэтому можно сразу заполнить отображение:

Установить строку «256» в пару с ключом CUATRO:

String oldValue = em.put(PCounter.values()[3], new String("256"));

метод вернёт старое значение из пары с ключом CUATRO.

Получить размер, т.е. количество пар:

Integer size = em.size();

Получить значение из пары с ключом DOS:

String get = em.get(PCounter.values()[1]);

Проверить есть ли ключ UNO:

em.containsKey(PCounter.values()[0])

Проверить есть ли значение «Str2»:

em.containsValue(new String("Str2"))

Удалить элемент с ключом, равным CUATRO:

String get = em.remove(PCounter.values()[3]);

Возвращает значение пары.

Удалить все элементы:

em.clear();

Получить коллекцию всех значений объекта EnumMap:

Collection < String> vol = em.values();

Получить множество всех ключей объекта EnumMap:

Set<PCounter> vol = em.keySet();

Получить множество всех пар объекта EnumMap:

Set<?> vol = em.entrySet();

Выясняем, не пуст ли объект EnumMap, функция возвращает тип boolean:

em.isEmpty()

Установим значение null:

em.put(PCounter.values()[2], null);

Итератор:

Получаем:
EnumMap, Java

такой результат.