如何在Object类中创建Next()方法

时间:2016-03-24 03:54:49

标签: java class object arraylist next

我有一个名为Tile的课程,其中包含以下方法:

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>包含所有图块,颜色和位置。

所以我的问题是如何在Next()课程中实施Tile?我不能item++ Tile,因为它类型为Tile等。

感谢您的帮助。

注意我的ArrayList tiles课程和{{1}}位于不同的文件中

3 个答案:

答案 0 :(得分:2)

For循环也执行以下代码所需的

List<Tile> tiles = new ArrayList<Tile>();
Iterator<Tile> tileIterator= tiles.iterator();
while (tileIterator.hasNext()) {
     Tile tile = tileIterator.next();
     tile.setColor("green");
}

答案 1 :(得分:1)

您只需将其放入迭代器即可。

    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());
    }

注意

将tile对象设置为t后,可以使用t对象使用Tile类中的任何方法。

答案 2 :(得分:0)

您需要实现Iterable,source,然后您就可以在&#34; for-each-loop&#34;中使用您的课程。