亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我如何使用流實現與 Java 8 相同的功能

我如何使用流實現與 Java 8 相同的功能

慕仙森 2023-05-10 14:19:27
我想做的是,如果連續的訂單具有相同的郵政編碼,則增加 10 分鐘,否則,將旅程增加 30 分鐘。例如,如果我有一個像下面這樣的類,這就是我如何強制實現的。@Data@AllArgsConstructorpublic 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) // 70if order 2 is new Order("2","N2"); // 90我怎樣才能實現同樣的事情,或者使用 java 8 流轉換以上內容?我嘗試了(減少)功能,但無法理解它。
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

你可以使用IntStream

int totalMin =IntStream.range(0, orders.size()-1)
         .map(i-> orders.get(i+1).getPostCode().equals(orders.get(i).getPostCode()) ? 10 : 30)
         .sum();


查看完整回答
反對 回復 2023-05-10
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號