除了Array/ArrayList之外,还有其他方法可以保存矩阵元素

Are*_*ani 1 java arrays arraylist matrix

假设我们有如下整数: (1, 2)=10, (2,3)=20, (3, 4)=30 等...

这些整数分布在具有2000*2000维度的矩阵中.

但我只需要这个矩阵的4000-6000个元素及其索引(即它们的位置(i,j)).矩阵中的其他元素为零.所以我不需要它们.除了使用二维Array/ArrayList之外,还有一个很好的方法来保存这些元素及其索引,因为我们可以轻松调用和重用元素及其索引吗?

使用Array/ArrayList会占用大量内存.

rge*_*man 5

拥有这种大小的二维数组将浪费内存,因为它将拥有4,000,000个元素.因为你只需要4000-6000个元素,所以这个数组非常稀疏.

您可以使用HashMap将a映射Point到的Integer.

Map<Point, Integer> points = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

你需要确保你有一个Point覆盖hashcodeequals正确的课程.

HashMap只会4000-6000点您存储put进去.