添加一个将停止然后继续循环的条件

时间:2016-12-12 06:27:12

标签: java for-loop arraylist

我有一个包含4个值的数组列表。我想在找到特定字符串时停止循环,否则for循环应继续。

我尝试使用break,但它没有帮助。

我试过如下:

if(productItem._NAME.equals("FRUITS")) {
                                break;

但这只会执行一次,即如果循环找到" FRUITS"它第一次停止执行循环。但我想继续,直到我从列表中获取所有元素但不想要元素" FRUITS"

2 个答案:

答案 0 :(得分:2)

这只是您可以在代码中实现的示例代码,我假设您的Arraylist包含String类型的对象:

// Here fruits is the Arraylist<String> object that contains your elements 

    for(String str:fruits)
    {
        if(str.contains("FRUITS"))
        {
         continue;
        }
      System.out.println(str);
    }

答案 1 :(得分:0)

假设,为了这个示例,您的示例productItem字段/变量属于假设类型Item

ArrayList<Item> products = new ArrayList<>();
products.addAll(...);

ArrayList<Item> nonFruitProducts = new ArrayList<>();    

for(Item product : products){                //for each product
    if(!product._NAME.equals("FRUITS")){     //with a name that is not FRUITS
        nonFruitProducts.add(product);       //add that product to the results
    }
}

然后,您可以在后面的代码中使用生成的nonFruitProducts ArrayList,该代码需要List Item个未命名为"FRUITS"的内容:

for(Item nonFruitProduct: nonFruitProducts){
    doStuffRequiringNoFruits(nonFruitProduct);
}