如何在java中实现高效的矩阵数据结构?

时间:2014-09-24 19:49:38

标签: java

java中是否有内置数据结构可以让我这样做:

Matrix matrix = new Matrix(); // No fixed size, and O(1) to initate

matrix.set(x,y,32); // adds 32 to arbitrary positions x and y in O(1)
matrix.isempty(x,y); // returns true or false wether x,y has been set to a value
matrix.clear(); // clears all elements in O(1)

您不能使用二维数组,因为您需要将其初始化为固定大小,这需要O(x * y)。您不能使用列表列表,因为您无法将对象添加到任意位置。

2 个答案:

答案 0 :(得分:2)

查看Google Guava's集合类Table。可能是一个选择,除非这个类对你来说太重了。

答案 1 :(得分:0)

考虑到这些操作,您可以通过HashMap<java.awt.Point,SomeType>来实现它,但我不认为它已经存在这种方式。