使用for-each循环时,可以跳过数组的一部分吗?

时间:2019-04-03 14:57:36

标签: java loops foreach

有人告诉我只能从数组中返回给定长度的字符串。我可以使用常规的for循环轻松完成此操作。但是我最近发现了for-each循环,我正在尝试学习如何使用它们。这个问题似乎可行,但我可能错了。

有我正在处理的代码:

public List wordsWithoutList(String[] words, int len) {
    String[] temp = new String[0];
    for (String i : words) {
        if (i.length() != len) {
            temp = new String[temp.length + 1];
            temp[i] = words[i];
        }
    }
    return temp;
}

3 个答案:

答案 0 :(得分:0)

这不是每个循环的重点。您可以跳过元素(继续)或跳出循环(中断),但是必须为每个元素调用主体。

当您只想处理指定范围的索引时,请使用“常规” for循环。

答案 1 :(得分:0)

几件事。
for循环和foreach循环之间的最大区别是从循环中混淆了迭代器,因此您不必担心需求。否则,它们的工作方式非常相似。
要回答您的问题-如果添加条件语句来检查不需要的内容,则可以使用continue关键字“跳过”。 continue的工作方式与break相似,但是它并没有破坏循环,只是跳过了当前迭代的处理。
您可以在Geeks for Geeks中阅读更多here

答案 2 :(得分:0)

要从数组中返回给定长度的字符串,可以使用简单的std::ostream语句:

if