Java 交易系统应使用哪种数据结构?

Java 交易系统应使用哪种数据结构?,java,data-structures,Java,Data Structures,我已经完成了对基本交易系统结构的研究,现在准备构建一个。我将把一个历史数据表(包含日高、日低……多年的日等)放入一个数组或其他类型的数据结构中,然后使用该数据进行分析,一些分析需要将结果放入另一个数组(或另一个数据结构) 因此,基本上只有几个“表”,每个表大约有6列和2000-5000行。我会在这些表中进行计算,然后将结果存储到另一个类似大小的表中 数组是否足够好?或者我应该选择另一种数据结构,如链表 这取决于你的要求 如果你只是对相对较少的数据进行简单的分析(听起来像是这样吗?),那么就没有必

我已经完成了对基本交易系统结构的研究,现在准备构建一个。我将把一个历史数据表(包含日高、日低……多年的日等)放入一个数组或其他类型的数据结构中,然后使用该数据进行分析,一些分析需要将结果放入另一个数组(或另一个数据结构)

因此,基本上只有几个“表”,每个表大约有6列和2000-5000行。我会在这些表中进行计算,然后将结果存储到另一个类似大小的表中


数组是否足够好?或者我应该选择另一种数据结构,如链表

这取决于你的要求

如果你只是对相对较少的数据进行简单的分析(听起来像是这样吗?),那么就没有必要太花哨了。可能一个简单的
ArrayList
行就可以了。保持简单

如果性能是一个问题,那么您需要更多地了解使用模式。例如,如果要进行大量只读查找,则可能需要在数据中创建索引(例如,使用哈希映射)。但这已经相当先进了


所以现在,我建议坚持使用
ArrayList

数组,虽然它对列表有一些限制,但我认为它们速度更快,数据结构不仅仅是问题所在,你需要对应用程序进行编程以尽快运行和处理数据,也许你需要并行处理数据,等等。我明白了,你是说阵列速度很快,对吗?我的第一个版本将只是单线程第一,如果以后我真的需要更高的速度,然后我使它多线程。对于数据结构,即使之前进行了一些正式的研究,我仍然不知道应该选择什么。正如我所说的,数组速度更快,但有一些限制(大小、交换、排序等),这取决于您希望如何处理这组信息!有时一个好的数据结构会被一个糟糕的算法所满足,当心顺序处理。当我创建一个2d数组来存储结果时,我可能不知道大小。你打算使用什么语言?希望是javahmmm,主要是因为ArrayList具有更有用/更高级别的功能-您可以添加元素,可以访问子列表等。数组是较低级别的构造。除非你有很好的理由,否则你的默认选择通常应该是ArrayList。我刚刚检查过,2d ArrayList需要在ArrayList中声明ArrayList,而2d数组要简单得多。在语法级别上,数组可能更简单。在概念层面上,这实际上是同一件事。在高阶代码中,ArrayList将更加灵活。你的呼叫。我的呼叫将主要是2d,不容易在arrylist中继续使用arrylist