在地图上添加 Java 日期作为键

这里是 Java 8,虽然我处理的是java.util.Date,而不是 LocalDate.


我有一种情况需要创建一个Map<?,?>键所在的位置Dates:


Map<Date, List<Fizz>> fizzesBySpecialDate = new HashMap<>;

List<Fizz> fizzes = getFizzesSomehow();


for (Fizz fizz : fizzes) {


  Buzz buzz = getBuzzFromFizz(fizz);


  if (fizzesBySpecialDate.containsKey(buzz.getSpecialDate())) {


    fizzesBySpecialDate.get(buzz.getSpecialDate()).add(fizz);


  } else {


    final List<Fizz> newGroup = new ArrayList<>();

    newGroup.add(fizz);


    fizzesBySpecialDate.put(buzz.getSpecialDate(), newGroup);


  }


}

因此,我的意图是将所有Fizzes具有Buzz相同specialDate(例如 7/4/2019)的人映射在一起。但是,由于每个getBuzzFromFizz()都会返回Buzz一个带有新Date实例的 a ,因此没有一个实例Dates是同一个实例,所以我不相信上面的方法会起作用。


我需要的是一种表达方式:“此地图是否已包含与当前的新字符串日期相同的字符串日期Buzz? ”。有什么想法可以实现吗?


斯蒂芬大帝
浏览 92回答 1
1回答

慕的地10843

将键从更改为buzz.getSpecialDate()没有时间的格式化字符串日期。而且您将能够轻松地对嘶嘶声进行分组。例如 Key 可以是 YYYY-MM-dd 格式 Date您可以使用DateFormat相同的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java