初始化并填充地图 [重复]

Posted

技术标签:

【中文标题】初始化并填充地图 [重复]【英文标题】:Initialize and fill up a Map of Maps [duplicate] 【发布时间】:2021-10-13 01:23:48 【问题描述】:

我有这样的数据 "Atr1":"col":1,"row":1, "Atr2":"col":1,"row":2, ...。列和行总是固定的,所以我想在 java 中创建最终属性。 如何初始化 Map> 和值。

我试过下面的代码,有没有更好的方法?

private final Map<String, HashMap<String, Integer>> FIELD_TO_INDEX = new HashMap<String, HashMap<String, Integer>>() 
        private static final long serialVersionUID = 1L;
        
            put("Atr1",
                    new HashMap<String,Integer>()
                        private static final long serialVersionUID = 1L;
                        
                            put("col",1);
                            put("row",1);
                        
                    
            );
            put("Atr2",
                    new HashMap<String,Integer>()
                private static final long serialVersionUID = 1L;
                
                    put("col",1);
                    put("row",2);
                
            
                    );
            put("Atr3",
                    new HashMap<String,Integer>()
                private static final long serialVersionUID = 1L;
                
                    put("col",1);
                    put("row",3);
                
            
                    );
        


    ;
 

【问题讨论】:

像这样使用双括号初始化是一种反模式。 【参考方案1】:

如果你不介意它是不可变的,也许

Map<String, Map<String, Integer>> outer = Map.of(
    "Map1", Map.of(
        "InnerMap1", 1,
        "InnerMap2", 2
        )
    );

【讨论】:

以上是关于初始化并填充地图 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何填充包含未知大小的结构切片的结构[重复]

悬停链接并在 SVG 中更改颜色 [重复]

用 pandas DataFrame 初始化一个类并填充它

在一个操作中声明后在结构中填充数组的最简单方法[重复]

空间复杂度:使用键初始化哈希图并单独更新其值与在循环内动态填充键、值对

空对象的变量初始化问题[重复]