[英]Hashmap with Arraylist as values Android
I am developing an android application and I am using a Hashmap to store some data the app works fine when I define the Arraylist this way 我正在开发一个android应用程序,并且我正在使用Hashmap存储一些数据,当我以这种方式定义Arraylist时,该应用程序可以正常工作
ArrayList<String> eventList = new ArrayList<>();
but the app crashes when I change it to: 但当我将其更改为:
ArrayList<String> eventList = hmap.get(date);
I need to know the reason why?. 我需要知道为什么吗? And here is the whole function in case you need to have a look
这是整个功能,以防您需要看一下
HashMap<Date, ArrayList<String>> hmap = new HashMap<>();
void eventMaker(String d, String ev) {
Date date = null;
try {
date = df.parse(d);
} catch (ParseException e) {
e.printStackTrace();
}
long epoch = date.getTime();
Event event = new Event(Color.RED,epoch,ev);
compactCalendar.addEvent(event);
ArrayList<String> eventList = new ArrayList<>();
eventList.add(ev);
hmap.put(date,eventList);
}
您需要将Hashmap的值强制转换为必需的type。
ArrayList<String> eventList =(ArrayList<String>) hmap.get(date);
The problem was that I was trying to get a value of a key that does not exist, I solved it like this: 问题是我试图获取一个不存在的键的值,我这样解决了它:
if(!hmap.containsKey(date)){
ArrayList<String> eventList =new ArrayList<>();
eventList.add(ev);
hmap.put(date,eventList);
}
else{
ArrayList<String> eventList = hmap.get(date);
eventList.add(ev);
hmap.put(date,eventList);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.