Java 是否使用预先存在的值初始化hashmap?

Java 是否使用预先存在的值初始化hashmap?,java,Java,如果我有一个int[]array={1,2,3},并且我想用下面的值初始化hashmap,有更好的方法吗 Map<Integer,Boolean> map = new HashMap<Integer,Boolean>(); map.put(1,false); map.put(2,false); map.put(3,false); 另一种初始化方法是: Map<Integer,Boolean&g

如果我有一个int[]array={1,2,3},并且我想用下面的值初始化hashmap,有更好的方法吗

Map<Integer,Boolean> map = new HashMap<Integer,Boolean>();
            map.put(1,false);
            map.put(2,false);
            map.put(3,false);

另一种初始化方法是:

Map<Integer,Boolean> map =  new HashMap<Integer, Boolean>() {
                            {
                                put(1,false);
                                put(2,false);
                                put(3,false);
                            }

另一种初始化方法是:

Map<Integer,Boolean> map =  new HashMap<Integer, Boolean>() {
                            {
                                put(1,false);
                                put(2,false);
                                put(3,false);
                            }
如果你使用

或者

如果你使用

或者


这将创建HashMap的一个匿名子类,根据您的情况,该子类可能正常,也可能不正常。至少在不了解成本/缺点的情况下,我不会推荐它。这会创建一个HashMap的匿名子类,根据您的情况,它可能是好的,也可能不是好的。至少在不了解成本/不利因素的情况下,我不会推荐它。
ImmutableMap.of(1, false, 2, false, 3, false);
ImmutableMap.builder().put(1, false).put(2, false).put(3, false).build()