Boh*_*ian 10
这段代码可以解决问题:
public static void findEvents(Map<Date, Event> dateEvents, Date targetDate) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
String target = dateFormat.format(targetDate);
for (Map.Entry<Date, Event> entry : dateEvents.entrySet()) {
if (dateFormat.format(entry.getKey()).equals(target)) {
System.out.println("Event " + entry.getValue() + " is on the specified date");
}
}
}
Run Code Online (Sandbox Code Playgroud)
这里重要的是在比较之前将所有日期转换为格式为"dd.MM.yyyy"的字符串,因此如果日期相同,则小时/分钟/秒的任何差异仍然匹配.
此代码还演示了迭代地图的最佳方式(恕我直言).