【发布时间】:2013-03-02 10:04:24
【问题描述】:
我有大约 1,000,000 个对象需要以某种形式的数据结构存储。它们必须通过键 (ID) 是唯一的 - 但根据它们的日期排序。因此,我试图想出一种将它们存储在某种形式的数据结构中的最佳方法。 性能(就执行时间而言)它是主要目标,然后是内存使用。我的想法是将对象放入树中,以便在它们进入数据结构时根据它们的日期对它们进行排序,然后我可以按顺序返回它们。但是 - 我认为根据其 ID 查找单个对象将非常缓慢。我确实想到的一个想法是有一个二级结构,它将 ID 链接到日期,这样我就可以减少查找单个对象所花费的时间,或者无论如何都按这个 ID 存储所有内容(可能在 HashTable 中),然后进行排序所有 1,000,000 个对象,当我想归还它们时(尽管这似乎需要很长时间)。
要点:
之后可能会添加对象,因此 c.1,000,000 个对象不是固定的。它们不会被更新或删除。 我可能不会使用 Java 的内置比较器。 我正在优化返回数据的效率 - 无论是按顺序(按日期)的完整集合,还是从其 ID 获得的单个对象。
【问题讨论】:
-
您是否尝试过
Comparator来完成您的任务...? -
您能列出您正在优化的用例吗?它们可能会影响数据结构的选择
标签: java sorting data-structures abstract-data-type