java基于日期范围按键过滤多重映射
我有一个包含付款交易的数据集,包括日期和金额。我将它们存储在地图数据结构中,日期作为键,数量作为值
由于每个日期可能有多次付款,我使用的是谷歌Guava图书馆的Multimap
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
Multimap<LocalDate,BigDecimal> payments = ArrayListMultimap.create();
payments.put(LocalDate.parse("12/25/2016",formatter), new BigDecimal("1000"));
payments.put(LocalDate.parse("01/15/2017",formatter), new BigDecimal("250"));
payments.put(LocalDate.parse("01/25/2017",formatter), new BigDecimal("500"));
payments.put(LocalDate.parse("03/20/2017",formatter), new BigDecimal("500"));
payments.put(LocalDate.parse("04/15/2017",formatter), new BigDecimal("1000"));
payments.put(LocalDate.parse("06/15/2017",formatter), new BigDecimal("1000"));
根据日期范围过滤此地图的推荐方法是什么
例如,显示2017年3月2日至2017年3月31日之间的条目
# 1 楼答案
需要对
Multimap
进行排序,否则必须对其进行迭代。幸运的是,有这样一个多重地图: