2017-07-03 64 views
1

我正在閱讀有orderTime(DateTime對象)& orderID(String)的大文件。我可以使用哪種數據結構以及如何 - 給定時間範圍,我可以將所有訂單ID作爲該時間範圍的一部分?所需的快速設計方法

+0

文件例如 2017年7月1日1點01分09秒Order1 2017年7月1日1點31分59秒Order2 2017年7月1日2點29分59秒Order3 現在對於時間範圍1.30 - 2.30 - 我應該retreve Order2&Order3 –

回答

0

您可以使用線性或非線性數據結構。線性數據結構可以像具有基於時間線的排序順序的順序Id的鏈接列表一樣簡單。 你也可以去Calender-Queue的。它們對查詢範圍非常有效。

+0

需要閱讀更多關於此..請看看。謝謝 –

0

您可以使用某種binary search tree,使您不僅可以快速找到某個鍵​​的相應值,還可以快速找到該樹的所有部分都大於或小於該鍵的部分。

例如,在Java中,您可以使用TreeMap,特別是headMap,tailMapsubMap方法。實例:

SortedMap<Date, String> map = new TreeMap<>(); 
map.put(someDate, someId); 
... 
SortedMap<Date, String> between = map.subMap(fromDate, toDate); 
+0

從未嘗試過。會看看。謝謝 –