[英]Initialize a 2D array with stack - Java
我想声明一个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>();
}
}
还是有一种特殊的方法?
嗯,根据您的描述,也许效果更好?
Map<Point, Stack<Balloon>> map = new HashMap<Point, Stack<Balloon>>();
一个Point
已经具有x和ay坐标,并且是标准库的一部分。
这样,您可以使用以下方法查询特定的堆栈:
int x = 1;
int y = 1;
Point point = new Point(x, y);
Stack<Balloon> balloons = map.get(point);
location = new Stack[width][height]; // remove generic
location = new Stack<Balloon>()[width][height]; // Invalid
location = new Stack<Balloon>[width][height]; // Valid!
如果您不希望这些值为null,则应该遍历。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.