java - 从数组中排除重复值

标签 java android arraylist

我有一个数组,它返回特定月份的一组事件。有些月份可能会在同一天发生不同的事件。如何检测重复的日期并在同一日期条目下显示这两个事件而不是两个单独的日期条目。

代码:

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 日有两项 Activity 。所以它显示结果:

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

我希望输出显示如下:

11 January 2013
-Event Name | Event Name-

最佳答案

如果您将事件存储在如下结构中:

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

您可以获取给定日期d的所有事件,如下所示:

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

关于java - 从数组中排除重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14185555/

相关文章:

java - JDOM 使用变音符号解析 XML

java - JDBC批量插入——控制插入速度

java - 正则表达式替换匹配后出现的所有匹配项

java - 使用数组和长数据类型会导致精度损失

android - 找不到 MPAndroidChart Android 方法 setDrawVerticalGrid/setGridColor

java - 将数组添加到组合框

android - 关键捕获问题

java - 将 int 数组(图像数据)写入文件的最佳方法是什么

java - 可能的 Java For 循环问题

java - 返回 ArrayList 时,我是否必须同时返回 <Type> ?