[英]Hashmap with Arraylist as values Android
我正在開發一個android應用程序,並且我正在使用Hashmap存儲一些數據,當我以這種方式定義Arraylist時,該應用程序可以正常工作
ArrayList<String> eventList = new ArrayList<>();
但當我將其更改為:
ArrayList<String> eventList = hmap.get(date);
我需要知道為什么嗎? 這是整個功能,以防您需要看一下
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);
問題是我試圖獲取一個不存在的鍵的值,我這樣解決了它:
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.