如何在Java中存储表或矩阵?

tna*_*ser 5 java performance matrix data-structures

我曾经使用八度矩阵来存储数据集中的数据,在Java中我该怎么做?假设我有10-20列和大数据,我不这么认为

int [][]data; 
Run Code Online (Sandbox Code Playgroud)

将是最好的选择.嵌套映射是唯一的解决方案吗?

SJu*_*n76 5

您可以创建一个Coordinate接受X和Y值的类,并正确实现hashCode和equals。

然后创建一个HashMap <Coordinate,Data>并使用它。


gno*_*med 4

取决于你需要做什么。如果您知道列表的大小,那么数组绝对是理想的选择,因为这意味着您可以即时访问(读/写时间)数组中的任何位置,这对于速度非常有用。

如果您不知道大小并且地图需要能够适应,那么地图会更好。

最后,正如我在上一个问题中发现的那样,如果您有大量数据,并且其中很多为“0”,您可能还需要考虑使用稀疏矩阵