Programming Tips - Java: How to initialize immutable Map in Java8

Date: 2020aug4 Update: 2026jul13 Language: Java Q. Java: How to initialize immutable Map in Java8 A. Use Collections.unmodifiableMap() as shown in this full example:
import java.util.Collections; import java.util.HashMap; import java.util.Map; class Demo { static final Map<String, String> mStates = Collections.unmodifiableMap(new HashMap<String,String>() {{ put("AL", "Alabama"); put("AK", "Alaska"); put("AZ", "Arizona"); }}); // Notice the double brace brackets public static final void main(String[] args) { for (var ent : mStates.entrySet()) { System.out.println(ent); } } }
Output:
AZ=Arizona AK=Alaska AL=Alabama
Some people don't like the double brace brackets because it creates an anonymous inner class. But I like it because its compact.