public class TileGrid implements Iterable<Tile> {
private wheelSize = [a positive integer];
private Tile[][] grid = new Tile[wheelSize * 2 + 1][wheelSize * 2 + 1]
@Override
public Iterator<Tile> iterator() {
return ????????;
}
}
我已经开设了一TileGrid
门课程来为我跟踪六角网格。它将Tile
-objects 存储在一个名为 的二维数组中grid
。现在我想创建这个TileGrid
类Iterable
,以便我可以轻松地遍历所有Tile
对象。问题是数组中有一些位置自然不使用(由于六角网格的形状),因此包含值null
。
我的问题是:我如何创建一个迭代器,它遍历grid
除那些之外的所有位置null
?
我不想使用某种 ArrayList,因为我使用数组索引来标记 Tiles 的位置。