Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Mapping Enum Keys With EnumMaps [Snippets]

DZone's Guide to

Mapping Enum Keys With EnumMaps [Snippets]

We take a look at a specialized way to create maps that have enum types as keys. See how to create and use EnumMaps and consider their benefits.

· Java Zone ·
Free Resource

Learn how to build stream processing applications in Java-includes reference application. Brought to you in partnership with Hazelcast.

Here’s a type that has been around in the JDK for a while and that comes in handy when we want to define maps with enum types as keys: An EnumMap is a specialized Map.

We’ll create a map for a given enum:

public enum CoffeeType {
    ESPRESSO, POUR_OVER, FRENCH_PRESS
}


The EnumMap needs to be aware of the enum class at creation time:

Map<CoffeeType, String> favoriteCoffeeOrigins = new EnumMap<>(CoffeeType.class);

favoriteCoffeeOrigins.put(CoffeeType.ESPRESSO, "Ethiopia");
favoriteCoffeeOrigins.put(CoffeeType.POUR_OVER, "Colombia");
favoriteCoffeeOrigins.put(CoffeeType.FRENCH_PRESS, "Indonesia");

assertThat(favoriteCoffeeOrigins.get(CoffeeType.ESPRESSO)).isEqualTo("Ethiopia");


An EnumMap is much more efficient compared to a HashMap implementation. All basic map operations of this Java implementation are executed in constant time.

Learn how to build distributed stream processing applications in Java that elastically scale to meet demand- includes reference application.  Brought to you in partnership with Hazelcast.

Topics:
java ,enum key ,enummaps

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}