如何在数组中放置一个hashmap?
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);
答案 0 :(得分:4)
List<Map<String, String>[]> listOfMaps = new ArrayList<Map<String, String>[]>();
应该足够了。你没有使用()
实例化它,因为它是一个数组,你需要提供一个大小或一系列HashMap
作为数组构造函数的一部分。
答案 1 :(得分:1)
您可以在What's the reason I can't create generic array types in 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);
答案 2 :(得分:0)
虽然您可以声明泛型数组,但无法使用常规语法对它们进行实例化。
Map<String,Object>[] config = new HashMap<String,Object>[10];
会给出编译错误:
无法创建HashMap的通用数组
但您可以使用Array.newInstance
see answers to this SO question
答案 3 :(得分:0)
使用ArrayList而不是简单的数组。
ArrayList<HashMap<String, Object>> arrayOfMap=new ArrayList<HashMap<String,Object>>();
答案 4 :(得分:0)
Map<String,Object>[] config = new HashMap[10];
只留下通用参数。