我想声明一个2D数组,每个坐标[x] [y]将返回一个Stack。 所以,我从这个
开始 private Stack<Balloon>[][] location;
我尝试为它创建内存空间。我试过了,但我失败了
location = new Stack<Balloon>()[width][height];
我应该做点什么
for(int i=0; i < width; i++){
for(int j=0; j < height; j++){
location[i][j] = new Stack<Balloon>();
}
}
还是有一种特殊的方法可以做到这一点?
答案 0 :(得分:2)
嗯,根据你的描述,这可能会更好吗?
Map<Point, Stack<Balloon>> map = new HashMap<Point, Stack<Balloon>>();
Point
已经有x和y坐标,是标准库的一部分。
这样,您可以使用以下方法查询特定堆栈:
int x = 1;
int y = 1;
Point point = new Point(x, y);
Stack<Balloon> balloons = map.get(point);
答案 1 :(得分:0)
location = new Stack[width][height]; // remove generic
答案 2 :(得分:0)
location = new Stack<Balloon>()[width][height]; // Invalid
location = new Stack<Balloon>[width][height]; // Valid!
如果您不希望值为null,则应循环访问。