这是我的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提前。请帮我弄清楚我哪里出错了?
答案 0 :(得分:0)
您使用:
myMap.get("myKey").put(FirstAL, SecondAL);
其中FirstAL
为ArrayList
,但您尝试使用String
密钥检索存储的值:
myMap.get("myKey").get("a");
使用FirstAL
代替"a"
或将myMap
声明为Map<String, Map<String, List<String>>
,具体取决于您尝试实现的目标。