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)。您不能使用列表列表,因为您无法将对象添加到任意位置。
答案 0 :(得分:2)
查看Google Guava's集合类Table
。可能是一个选择,除非这个类对你来说太重了。
答案 1 :(得分:0)
考虑到这些操作,您可以通过HashMap<java.awt.Point,SomeType>
来实现它,但我不认为它已经存在这种方式。