如何在对象中创建 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() 将移动到下一个索引。

顺便说一句 tilesList<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");
}