怎么一次性判断List集合中的所有对象的某一个值等于1?

一个订单中有多个订单项,但是要求是每个订单可能不是一次性完成的,可能先完成一个订单项,在完成另外的,所以我需要等到所有订单项完成,我的订单状态才能变为已完成,我循环判断订单项时,只要有一个订单项完成了,我的订单状态就会变为已完成,所以怎么能一次判断所有订单项都为1的时候才修改订单状态。

下面是不成功的代码,这样判断的话,只要有一个为1,他就改了,求大佬指点!

 

package com.auskat.demo.lock;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 类文件: TestClass
 * <p>
 * <p>
 * 类描述:
 * <p>
 * 作     者: AusKa_T
 * <p>
 * 日     期: 2021/5/16 0016
 * <p>
 * 时     间: 15:14
 * <p>
 */
public class TestClass {

    public static void main(String[] args) {
        List<PwmOrderItem> orderItemList = new ArrayList<>();;
        orderItemList.add(new PwmOrderItem("1",1));
        orderItemList.add(new PwmOrderItem("2",0));


        List<PwmOrderItem> orderItems = orderItemList.stream().filter(i -> i.getOrderItemStatus() != 1).collect(Collectors.toList());

        if(orderItems.size() == 0) {
            // 全部都是更新状态
            System.out.println("更新状态!");
        }else {
            System.out.println("存在不为1的,不更新状态!");
        }
    }

}

 

这个可以定义一个标识flag = true,如果有一个定单状态不为“1”,就改变标识的状态,同时退出循环。循环完标识状态还是true,就可以进行修改操作了。下面简单的写了两行伪代码。


Boolean flag = true;
for(int i=0;i<OoList.size();i++){

    if(!"1".equals(status)){
         flag = false;
           breeak;   
     }
}
  
if(!flag){
   log.info("不是所有的订单状态都为一");
}

 

如果觉得回答还可以的话,可采纳~~