我想要做的是,如果连续订单具有相同的邮政编码,就增加10分钟的时间,否则将行程时间增加30分钟。例如,如果我有以下类,这是如何用命令式实现的。
如何使用Java 8流实现相同的功能或将上述内容转换?我尝试了(reduce)函数,但无法理解它。
@Data
@AllArgsConstructor
public static class Order{
private String orderNumber;
private final String postCode;
}
Order order1 = new Order("1","N1");
Order order2 = new Order("2","N1");
Order order3 = new Order("3","N3");
Order order4 = new Order("4","N4");
List<Order> orders = List.of(order1, order2, order3, order4);
int totalMin = 0;
for (int i=0;i < orders.size()-1 ; i++ ){
if (orders.get(i+1).getPostCode().equals(orders.get(i).getPostCode())){
totalMin+=10;
}
else{
totalMin+=30;
}
}
System.out.println(totalMin) // 70
if order 2 is new Order("2","N2"); // 90
如何使用Java 8流实现相同的功能或将上述内容转换?我尝试了(reduce)函数,但无法理解它。