java - 循环遍历 arrayList

标签 java android arrays arraylist

背景

我有一个 Sprite (一个 openGL 四边形),它从屏幕顶部“落”到底部。

当它到达屏幕底部时,它的值被重置并再次开始(从上到下)但沿 X 轴移动到新的 X 位置。

我正在做的是将 X 位置存储在 ArrayList 中(可能只有 1 个,所以它一遍又一遍地落在同一个地方,或者 10 个,所以它每次落下时都会稍微移动)。

问题

我无法解决的是如何遍历这个数组列表并将 Sprite 的新 X 位置设置为“下一个”数组列表位置中保存的值,同时牢记可能没有“下一个”位置。

所以......(这是伪代码)......一旦 Sprite 掉落并且它的 Y 位置已重置回屏幕顶部:

spriteX = value_held_in_next_arrayList_position(if_there_is_one)

由于我的游戏的不同级别会有不同数量的位置,我不能明确地说“转到位置 2”,因为 arrayList 的大小仅为 1。基本上我想说的是“转到下一个位置” ' 和 '如果没有下一个位置' 然后回到位置 0。

最佳答案

您可以使用 whileIterator 从列表中迭代一个 List:

List<YourElement> yourList;
...
Iterator<YourElement> iterator = yourList.iterator();
while(iterator.hasNext()) {
    final YourElement yourElement = iterator.next();        
    // Do whatever with yourElement
    if (iterator.hasNext()) {
        // Do whatever if there's a next element to yourElement
    }
}

关于java - 循环遍历 arrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17995522/

相关文章:

java - Quarkus Multi-Tenancy 应用

java - 如何使用多个数据源获得 3 个线程池?

java - 一个 servlet 应该执行多少个 Action ?

java - Maven自包含子 Artifact

android - 降低 ORMlite 的内部日志详细程度或禁用它

android - ORMLite 5.0 构建失败

php - 循环数组没有给出所需的结果

java - 将模块添加到我的 Android 应用程序时出现 DuplicateFileException

javascript - 对于函数的每次迭代,如何从数组中输出不同的值;

c++ - 这段 C++ 代码如何在 GCC 而不是 Visual C++ 中运行?