【问题标题】:How can I put a hashmap inside an array? conf[0] = new HashMap<String, Object>();如何将哈希图放入数组中? conf[0] = new HashMap<String, Object>();
【发布时间】:2013-05-23 11:58:09
【问题描述】:

如何将 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);

【问题讨论】:

  • 这是 HashMaps 数组,你必须初始化一些大小的数组

标签: java android arrays hashmap


【解决方案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); 

【讨论】:

  • 谢谢!其作品!阅读:config.get(0).get("Name"); //Jon 编辑/添加:config.get(0).put("Name", "Snow"));
【解决方案2】:
Map<String,Object>[] config = new HashMap[10];

只留下泛型参数。

【讨论】:

    【解决方案3】:

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

                ArrayList<HashMap<String, Object>> arrayOfMap=new ArrayList<HashMap<String,Object>>();
    

    【讨论】:

    • 为什么我们把 '0' 放在一些 HashMap 的末尾?例如:'新的哈希图(0);'为什么我们不使用'new hashmap();'
    【解决方案4】:
    List<Map<String, String>[]> listOfMaps = new ArrayList<Map<String, String>[]>();
    

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

    【讨论】:

    • 谢谢!但是如果不提供尺寸,我怎么能做到这一点?可能吗?如果我使用您的代码,我会收到以下错误:“无法创建 HashMap 的通用数组”
    • 我明白了 :) 我会删除我的评论
    • @Heuster 这是我的错,别再相信我的记忆了 :)
    • 为什么要将它设为 Map 数组列表?为什么不只是一个地图列表?
    • @TomMcIntyre 因为 OP 希望它是一个数组
    【解决方案5】:

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

    Map&lt;String,Object&gt;[] config = new HashMap&lt;String,Object&gt;[10]; 会给出编译错误: 无法创建 HashMap 的泛型数组

    但是,您可以使用 Array.newInstance see answers to this SO question

    【讨论】:

      猜你喜欢
      • 2013-06-30
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      相关资源
      最近更新 更多