在Java中将多个映射添加到列表中

时间:2017-11-17 14:22:19

标签: java list arraylist

我有多张地图(例如100张或更多张)。我想把它们列在这样的列表中:

ArrayList<HashMap> mapsList = new ArryaList(Arrays.asList(map1, map2, map3 ..., map100);

有没有办法将所有这些放在一个循环中以避免写入相同的名称一百次只更改其中的数字?

@EDIT

我有这样的地图:

HashMap<String, Integer> map1 = new HashMap<>();
map1.put("x", 47);
...
nextmap here...

1 个答案:

答案 0 :(得分:1)

使用方法生成地图,插入值并将其添加到列表中。

public Map<String, Integer> newMap(Values... values){
    Map<String, integer> map = new HashMap<>();
    for(Values v : values){
        map.put(v.getKey(), v.getValue());
    }
    list.add(map);

    return map;
}

Values同时拥有键和值

class Values{
    String key;
    Integer value;

    public Values(String key, Integer value){
        ...
    }

    //getters;
}

这样,您无需使用map1map2map3,...而只需调用该方法。

newMap(new Values("x", 47), new Values("y", 12));
newMap(new Values("x", 4));

...