Data structures 需要快速设计方法

Data structures 需要快速设计方法,data-structures,hashmap,Data Structures,Hashmap,我正在读取一个巨大的文件,其中包含orderTime(DateTime对象)和orderID(字符串)。我可以使用哪种数据结构以及如何使用?因此,给定一个时间范围,我可以给出作为该时间范围一部分的所有订单id?您可以使用线性或非线性数据结构。线性数据结构可以像链表一样简单,链表的顺序Id是基于时间线的排序顺序。 您也可以选择日历队列。它们对于范围之间的查询非常有效。您可以使用线性或非线性数据结构。线性数据结构可以像链表一样简单,链表的顺序Id是基于时间线的排序顺序。 您也可以选择日历队列。它们对

我正在读取一个巨大的文件,其中包含orderTime(DateTime对象)和orderID(字符串)。我可以使用哪种数据结构以及如何使用?因此,给定一个时间范围,我可以给出作为该时间范围一部分的所有订单id?

您可以使用线性或非线性数据结构。线性数据结构可以像链表一样简单,链表的顺序Id是基于时间线的排序顺序。
您也可以选择日历队列。它们对于范围之间的查询非常有效。

您可以使用线性或非线性数据结构。线性数据结构可以像链表一样简单,链表的顺序Id是基于时间线的排序顺序。 您也可以选择日历队列。它们对于范围之间的查询非常有效。

您可以使用某种类型的,不仅可以快速查找某个键的对应值,还可以快速查找树中大于或小于该键的所有部分

例如,在Java中,您可以使用,尤其是
headMap
tailMap
和方法。用法示例:

SortedMap<Date, String> map = new TreeMap<>();
map.put(someDate, someId);
...
SortedMap<Date, String> between = map.subMap(fromDate, toDate);
SortedMap=newtreemap();
map.put(someDate,someId);
...
SortedMap-between=map.subMap(从日期到日期);
您可以使用某种类型的,不仅可以快速查找某个键的对应值,还可以快速查找树中大于或小于该键的所有部分

例如,在Java中,您可以使用,尤其是
headMap
tailMap
和方法。用法示例:

SortedMap<Date, String> map = new TreeMap<>();
map.put(someDate, someId);
...
SortedMap<Date, String> between = map.subMap(fromDate, toDate);
SortedMap=newtreemap();
map.put(someDate,someId);
...
SortedMap-between=map.subMap(从日期到日期);

文件示例2017-07-01 01:01:09 Order1 2017-07-01 01:31:59 Order2 2017-07-01 02:29:59 Order3现在适用于时间范围1.30-2.30-我应该重新发布Order2和Order3文件示例2017-07-01 01:01:09 Order1 2017-07-01 01 01:31:59 Order2 2017-07-01 02:29:59 Order3现在适用于时间范围1.30-我应该重新发布Order2和Order3