I am trying to group a List of events into dates with a HashMap but i'm having problem achieving it. I want the dates to be the key while the events will be the values. So every events that matches a key will be stored inside a List in the HashMap. So far i have a list of events and a list dates.....my code is show below, thanks in advance.
code
public class TestMap {
public static void main(String[] args){
TestMap test = new TestMap();
List<Date> mDays = new ArrayList<Date>();
SimpleDateFormat mFormat = new SimpleDateFormat("EEEE d MMMM yyyy");
GregorianCalendar mCalendar = (GregorianCalendar)GregorianCalendar.getInstance();
mCalendar.setTime(new Date());
for (int i = 0; i < 7; i++){
mDays.add(mCalendar.getTime());
mCalendar.add(Calendar.DAY_OF_WEEK, 1);
System.out.println("Date: " + mFormat.format(mDays.get(i)));
}
List<Events> mEvents = new ArrayList<Events>();
mEvents.add( new Events("1", "boat party", "Sunday 7 December 2014"));
mEvents.add( new Events("2", "church meeting", "Monday 8 December 2014"));
mEvents.add( new Events("3", "shopping", "Saturday 13 December 2014"));
mEvents.add( new Events("4", "clubbing", "Friday 12 December 2014"));
mEvents.add( new Events("5", "visiting", "Thursday 11 December 2014"));
mEvents.add( new Events("6", "tour", "Wednesday 10 December 2014"));
mEvents.add( new Events("7", "work", "Tuesday 9 December 2014"));
mEvents.add( new Events("1", "beckie birthday", "Sunday 7 December 2014"));
mEvents.add( new Events("2", "camping", "Monday 8 December 2014"));
mEvents.add( new Events("3", "gym", "Saturday 13 December 2014"));
mEvents.add( new Events("4", "working", "Friday 12 December 2014"));
mEvents.add( new Events("5", "farming", "Thursday 11 December 2014"));
mEvents.add( new Events("6", "attend sales", "Wednesday 10 December 2014"));
mEvents.add( new Events("7", "work", "Tuesday 9 December 2014"));
for(Events evt: mEvents){
System.out.println("ID: " +evt.getEventId()+ " Title: "+evt.getEventTitle()+ " Date:
"+evt.getStartDate());
}
}
}
Events class:
class Events{
private String eventId;
private String eventTitle;
private String startDate;
public Events(String eventId, String eventTitle, String startDate) {
super();
this.eventId = eventId;
this.eventTitle = eventTitle;
this.startDate = startDate;
}
public String getEventId() {
return eventId;
}
public void setEventId(String eventId) {
this.eventId = eventId;
}
public String getEventTitle() {
return eventTitle;
}
public void setEventTitle(String eventTitle) {
this.eventTitle = eventTitle;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
}