1

如何将哈希图放入数组中?

HashMap<String, Object>[] config= null;
        config[0] = new HashMap<String, Object>(); 
        config[0].put("Name", "Jon");
        config[0].put("valueA", 0);
        config[1] = new HashMap<String, Object>(); 
        config[1].put("valueA", 2323);
4

5 回答 5

4
List<Map<String, String>[]> listOfMaps = new ArrayList<Map<String, String>[]>();

应该足够了。你不用实例化它,()因为它是一个数组,你需要为它提供一个大小或一系列HashMaps 作为数组构造函数的一部分。

于 2013-05-28T13:28:58.847 回答
1

你可以在这里找到一些解释我不能在 Java 中创建泛型数组类型的原因是什么?

我建议使用下一个构造:

ArrayList<HashMap<String, Object>> config= new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> map;
map = new HashMap<String, Object>();        
map.put("Name", "Jon");
map.put("valueA", 0);       
config.add(map); 
map = new HashMap<String, Object>();        
map.put("valueA", 2323);                        
config.add(map); 
于 2013-05-28T13:40:20.673 回答
0

虽然您可以声明一个泛型数组,但您不能使用普通语法来实例化它们。

Map<String,Object>[] config = new HashMap<String,Object>[10];会给出编译错误:Cannot create a generic array of HashMap

但是,您可以使用Array.newInstance 查看此 SO 问题的答案

于 2013-05-28T13:37:02.310 回答
0

使用 ArrayList 而不是简单的数组。

            ArrayList<HashMap<String, Object>> arrayOfMap=new ArrayList<HashMap<String,Object>>();
于 2013-05-28T13:38:35.897 回答
0
Map<String,Object>[] config = new HashMap[10];

只需离开通用参数即可。

于 2013-05-28T13:39:50.473 回答