2013-01-06 61 views
0

我有一個數組,它返回特定月份的一組事件。有些月份可能在同一天有不同的事件。如何檢測重複日期並在同一日期條目下顯示兩個事件,而不是兩個單獨的日期條目。排除數組中的重複值

代碼:

public void setListView(int month, int year, int dv) { 

     events = new HolidayEvents(); 
     _calendar = Calendar.getInstance(Locale.getDefault()); 
     int totalDays = _calendar.getActualMaximum(Calendar.DAY_OF_MONTH); 

     for(int i = 1; i <= totalDays; i++){ 
      if(isHoliday(i, month, year, dv)) 
      { 
       date = i + " " + getMonthForInt(month-1) + " " + year; 

       for (Event event : events.eventDetails(this, month, i) 
       { 
         summaries.add(new Summary(date, event.eventdetails)); 

       } 
      } 
     } 
} 

輸出:

1月11日有兩個事件。因此,它顯示的結果是:

11 January 2013 
-Event Name- 
11 January 2013 
-Event Name- 

我想輸出顯示是這樣的:

11 January 2013 
-Event Name | Event Name- 
+7

怎麼樣了''Map'作爲Date'鍵和'名單'作爲值? – MrSmith42

+0

@ MrSmith42,你能舉個例子嗎? – input

回答

2

如果您在存儲您的Event S IN這樣的結構:

Map<Date, List<Event>> eventMap= new HashMap<Date,List<Event>>(); 

你可以得到給定日期的所有事件d像這樣:

List<Event> events = eventMap.get(d);