什么';用Java建模类似日历的数据库的好方法是什么?

什么';用Java建模类似日历的数据库的好方法是什么?,java,data-structures,Java,Data Structures,我正在从CSV文件中获取数据,格式为{timestamp}、{data1}、{data2} 我所寻找的是一种将数据存储在数据结构中的明智的方法,这样我就可以轻松地执行以下操作: 对于给定的日期对象,查找与该日期关联的正确数据 如果日期没有直接匹配项,请查找上一项和下一项 哈希表很容易满足第一个要求。如果一个哈希表有一个固有的顺序,那么第二个就很容易了,在这种情况下,我就可以找到上一个项目的最大条目,它仍然低于我给定的日期,下一个项目的最大条目 既然不是这样,那么在这里使用什么样的好数据结构呢 使

我正在从CSV文件中获取数据,格式为
{timestamp}、{data1}、{data2}

我所寻找的是一种将数据存储在数据结构中的明智的方法,这样我就可以轻松地执行以下操作:

  • 对于给定的
    日期
    对象,查找与该日期关联的正确数据
  • 如果日期没有直接匹配项,请查找上一项和下一项
  • 哈希表很容易满足第一个要求。如果一个哈希表有一个固有的顺序,那么第二个就很容易了,在这种情况下,我就可以找到上一个项目的最大条目,它仍然低于我给定的日期,下一个项目的最大条目

    既然不是这样,那么在这里使用什么样的好数据结构呢

    使用分类地图


    使用Map.get()检索完全匹配的数据。如果没有可用数据,请使用SortedMap.tailMap(日期)和SortedMap.headMap(日期)检索大于或小于给定日期的元素。

    其他读者应注意,SortedMap是抽象的。要实例化它,请使用TreeMap,如
    SortedMap map=newtreemap()