【发布时间】:2012-06-14 08:49:36
【问题描述】:
你好 Stackoverflowers!
当我想知道如果我必须访问/编辑大量数据时哪个是最快的数据结构可以让我获得最佳性能时,我正在编写一个项目?
让我用一个例子来解释。 我有一个名为 User 的类和一个类 Event。一个用户可以有很多事件。到目前为止,我已经用 ArrayList 实现了这种情况:
public class User{
ArrayList<Event> events;
public void process(){
}
...
}
public class Event{
event data like event time etc.
}
由于我有很多用户(数百万),每个用户都可能有数千个事件,此外,我必须使用 process() 方法访问用户的每个事件,我认为使用 HashMaps 等结构. 不会有帮助(如果错了请告诉我)。 但是,很明显,有了这么多的元素,就需要良好的性能。
那么,您认为处理事件最快的数据结构是什么?
非常感谢,
马可。
【问题讨论】:
-
取决于您要如何处理事件。顺序重要吗?如果有,是FIFO还是LIFO数据结构?
-
我宁愿把它委托给数据库
-
我同意 LeleDumbo,如果你有数百万用户,它只是乞求数据库......
-
@m0skit0 不,我访问数据的顺序无关紧要,因为我必须访问每个事件
-
@MarcoGalassi:你需要随机访问这些事件吗?例如。 “给我 UID 0x69696969 的事件”?还是您只是将它们视为未分类的一堆?
标签: java performance data-structures