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方法没有这样的限制。