gpt4 book ai didi

java - 具有日期范围的 HashMap

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:53:16 24 4
gpt4 key购买 nike

我需要根据多键非常快找到一些值。 key 由以下部分组成: < Int userId, String measureName, Date startDate, Date endDate >并且该值为 double 值。

问题是我必须要求指示日期的值,而不是日期范围。所以如果我要一个userId , 一个 measureName和一天,数据结构必须回答一天介于 startDate 之间的值。和 endDate (日期范围之间没有重叠)。

我不明白哪个是更好的数据结构来实现这个。哈希表? TreeMap ?多键映射?范围图?帮助! :)

最佳答案

我认为您应该使用 TreeMap 和如下方法: http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html#floorEntry(K) http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html#higherEntry(K)但在比较函数中只使用一个日期 - startDate 或 endDate。由于这些范围不重叠,这应该不是问题,并且可以使用 TreeMap 中提到的方法。

例如:如果您决定在比较中使用 endDate(以及除其他日期之外的其他字段),那么您应该使用方法 floorEntry

关于java - 具有日期范围的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15372954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com