从嵌套HashMap中检索数据

时间:2014-05-30 11:33:06

标签: android hashmap

这是我的HashMap声明:

HashMap<String, HashMap<ArrayList<String>, ArrayList<String>>> myMap;

现在我创建了2个arraylist

ArrayList<String> FirstAL = new ArrayList<String>();
ArrayList<String> SecondAL = new ArrayList<String>();

在onCreate()中,我已将项添加到arraylist和HashMap

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    FirstAL.add("a");
    FirstAL.add("b");
    FirstAL.add("c");

    SecondAL.add("1");
    SecondAL.add("2");
    SecondAL.add("3");

    myMap.put("myKey", new HashMap<ArrayList<String>, ArrayList<ArrayList<String>>>());
    myMap.get("myKey").put(FirstAL, SecondAL);

    // now while retriving I'm getting null instead of Arraylist
    ArrayList<String> resultAL = myMap.get("myKey").get("a");

}

Thnx提前。请帮我弄清楚我哪里出错了?

1 个答案:

答案 0 :(得分:0)

您使用:

myMap.get("myKey").put(FirstAL, SecondAL);

其中FirstALArrayList,但您尝试使用String密钥检索存储的值:

myMap.get("myKey").get("a");

使用FirstAL代替"a"或将myMap声明为Map<String, Map<String, List<String>>,具体取决于您尝试实现的目标。