从嵌套的LinkedHashMap读取数据

时间:2017-11-19 12:59:27

标签: java android hashmap linkedhashmap

第一级关联哈希地图

LinkedHashMap<String, LinkedHashMap<String, Integer>> level_1 = new LinkedHashMap<>();

第二级linkedhashmap`

LinkedHashMap<String, Integer> level_2 = new LinkedHashMap<>();
    level_2.put("abcd", R.drawable.abcd);

把方法

level_1.put("ABCD", level_2);

现在我必须从上面的代码中读取数据

LinkedHashMap<String, LinkedHashMap<String, Integer>> abcd;

我有2个意图 - level_1和level_2

abcd.get(level_1).get(level_2) 

这会发出警告

  

LinkedHashMap(String,Integer)可能不包含integer

类型的对象

我想分别读取String和Integer值,以便我可以填充textView和Imageview。

总结

如何从

中单独读取整数和stringfFrom innermap)
LinkedHashMap<String, LinkedHashMap<String, Integer>>

1 个答案:

答案 0 :(得分:0)

工作正常:

LinkedHashMap<String, LinkedHashMap<String, Integer>> level_1 = new LinkedHashMap<>();
LinkedHashMap<String, Integer> level_2 = new LinkedHashMap<>();
level_2.put("l2", 2);
level_1.put("l1", level_2);
System.out.println(level_1.get("l1").get("l2"));

您的问题是,当您调用get()方法时,您实际上应该将您映射值的键作为参数。在这种情况下,您的密钥是String类型。