java - 跳过 for 循环的某些迭代

标签 java for-loop

我目前正在编写一个 for 循环来遍历包含 38 个元素的 2D。然而,其中一些元素为空,我希望 for 循环简单地跳过它们(因为在我正在解决的难题中,它们没有与它们相关的移动)。快速搜索表明,我可以在 for 循环开头的 if 语句中使用简单的 continue 语句来跳过迭代。但是,我想跳过多次迭代,而我编写的 if 语句不起作用:

for (int i = 0; i < triplets.length; i++) {
    if (i == 18 || 19 || 25 || 26 || 28 || 29 || 31 || 32) {
        continue;
    }

除了制作 8 个单独的 if 语句之外,还有其他选择吗?还是我只能坚持这样做?

最佳答案

您没有正确给出条件。应该是这样的:

if (i == 18 || i == 19 || i == 25 || i == 26 || i == 28 || i == 29 || i == 31 || i == 32) {
    continue;
}

或者,我建议您这样做:

  1. 创建一个HashSet并将要比较的值放入其中。

  2. 检查HashSet是否包含i,如果是则继续循环。

    Set<Integer> set = new HashSet<>();
    set.add(18);
    set.add(19);
    set.add(25);
    set.add(26);
    set.add(28);
    set.add(29);
    set.add(31);
    set.add(32);
    
    if(set.contains(i)) {
        continue;
    }
    

关于java - 跳过 for 循环的某些迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36314750/

相关文章:

java - 发出 http 请求时权限被拒绝

java - 使用 JAXB 编码 LocalDate

c# - 如何在for循环中保留变量的位数

java - 字节/短 Vs int 作为循环计数器变量

java - 如何在elasticsearch中从父id获取子列表

java - 如何向ajax请求添加请求参数,以获取从jSON初始化并由Spring映射的jQuery数据表

python - 访问/使用元组列表中的元素 python 3.x

ios - 为什么我的数组没有填充从 for 循环成功获取的信息?

python - 如何在不使用exec的情况下在每次迭代中使用for循环中的不同函数?

java - 如果 postgres 中的 autocommit 为 false,事务将自动回滚