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会占用大量内存.
拥有这种大小的二维数组将浪费内存,因为它将拥有4,000,000个元素.因为你只需要4000-6000个元素,所以这个数组非常稀疏.
您可以使用HashMap将a映射Point到的Integer.
Map<Point, Integer> points = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
你需要确保你有一个Point覆盖hashcode和equals正确的课程.
将HashMap只会4000-6000点您存储put进去.