如何在对象中创建 Next() 方法 class
How to create Next() method in an Object class
我有一个名为 Tile
的 class,它具有以下方法:
public Tile(Shape tile, Color color, int position), getTile(),
setTile(), getColor(), setColor(), getPosition(), setPosition()
现在使用 for(Tile item: tiles)
我想要一个 item.Next()
将移动到下一个索引。
顺便说一句 tiles
是 List<Tile> tiles = new ArrayList<Tile>
包含所有的图块、颜色和位置。
所以我的问题是如何在 Tile
class 中实现 Next()
?我不能做 item++
,因为它的类型是 Tile
,等等
感谢您的帮助。
注意我的 Tile
class 和 ArrayList tiles
位于不同的文件中
您需要实现 Iterable,source,然后您就可以在 "for-each-loop".
中使用您的 class
您只需将其放入迭代器即可。
Iterator<Tile> tileIterator= tiles.iterator();
while (tileIterator.hasNext()) {
System.out.println(tileIterator.next());
}
编辑
改变你的
List<String> tiles = new ArrayList<String>
到
List<Tile> tiles = new ArrayList<Tile>();
然后将 "tiles" 项添加到此列表。然后使用下面的代码
Iterator<Tile> tileIterator = tiles.iterator();
Tile t;
while (tileIterator.hasNext()) {
t = tileIterator.next();
System.out.println(t.getColor().toString());
t.setColor(your_color);
System.out.println(t.getColor().toString());
}
备注
获得 t 的 tile 对象后,您可以使用 t 对象在 class Tile 中使用任何方法。
For 循环也执行下面代码所要求的,
List<Tile> tiles = new ArrayList<Tile>();
Iterator<Tile> tileIterator= tiles.iterator();
while (tileIterator.hasNext()) {
Tile tile = tileIterator.next();
tile.setColor("green");
}
我有一个名为 Tile
的 class,它具有以下方法:
public Tile(Shape tile, Color color, int position), getTile(),
setTile(), getColor(), setColor(), getPosition(), setPosition()
现在使用 for(Tile item: tiles)
我想要一个 item.Next()
将移动到下一个索引。
顺便说一句 tiles
是 List<Tile> tiles = new ArrayList<Tile>
包含所有的图块、颜色和位置。
所以我的问题是如何在 Tile
class 中实现 Next()
?我不能做 item++
,因为它的类型是 Tile
,等等
感谢您的帮助。
注意我的 Tile
class 和 ArrayList tiles
位于不同的文件中
您需要实现 Iterable,source,然后您就可以在 "for-each-loop".
中使用您的 class您只需将其放入迭代器即可。
Iterator<Tile> tileIterator= tiles.iterator();
while (tileIterator.hasNext()) {
System.out.println(tileIterator.next());
}
编辑
改变你的
List<String> tiles = new ArrayList<String>
到
List<Tile> tiles = new ArrayList<Tile>();
然后将 "tiles" 项添加到此列表。然后使用下面的代码
Iterator<Tile> tileIterator = tiles.iterator();
Tile t;
while (tileIterator.hasNext()) {
t = tileIterator.next();
System.out.println(t.getColor().toString());
t.setColor(your_color);
System.out.println(t.getColor().toString());
}
备注
获得 t 的 tile 对象后,您可以使用 t 对象在 class Tile 中使用任何方法。
For 循环也执行下面代码所要求的,
List<Tile> tiles = new ArrayList<Tile>();
Iterator<Tile> tileIterator= tiles.iterator();
while (tileIterator.hasNext()) {
Tile tile = tileIterator.next();
tile.setColor("green");
}