1、 可以使用静态代码块初始化
import java.util.HashMap; import java.util.Map; public class Main { private static final Map<String, String> myMap; static { myMap = new HashMap<String, String>(); myMap.put("a", "b"); myMap.put("c", "d"); } public static void main(String[] args) { System.out.println(Main.myMap); System.exit(0); //success } }
2、 使用函数方法初始化
import java.util.HashMap; import java.util.Map; public class Main { private static final Map<String, String> myMap = createMap(); private static Map<String, String> createMap() { Map<String,String> myMap = new HashMap<String,String>(); myMap.put("a", "b"); myMap.put("c", "d"); return myMap; } public static void main(String[] args) { System.out.println(Main.myMap); System.exit(0); //success } }
3、 Java 9中HashMap的初始化方法
import java.util.HashMap; import java.util.Map; import static java.util.Map.entry; public class Main { private static final Map<String, String> test = Map.of("a", "b", "c", "d"); private static final Map<String, String> test2 = Map.ofEntries( entry("a", "b"), entry("c", "d") ); public static void main(String[] args) { System.out.println(Main.test); System.exit(0); //success } }
test和test2的初始化是相同的,只是表达方式不一样。Map.of方法在Map中定义了最多十个元素,而该Map.ofEntries方法没有这样的限制。