我有一個簡單的 for 回圈,我想使用過濾器將其更改為陳述句
for (int lotto_num: lottos) {
if (lotto_num == 0) {
unknown_count ;
}
for (int win_num : win_nums) {
if (lotto_num == win_num) {
count ;
}
}
}
是否可以?我真的不知道如何使用過濾器和流。
uj5u.com熱心網友回復:
為了使用 Java 的 Stram API,您應該首先將您的int[]陣列轉換win_nums為.lottosList<Integer>
可以這樣做:
List<Integer> win_nums_list = IntStream.of(win_nums).boxed().collect(Collectors.toList());
List<Integer> lottos_list= IntStream.of(lottos).boxed().collect(Collectors.toList());
現在我們可以使用 Stream API 來獲得想要的結果。
int count = win_nums_list.stream().filter(win_num -> lottos_list.contains(win_num)).count();
int unknown_count = lottos_list.stream().filter(lotto -> lotto== 0).count();
將匯入添加到代碼的開頭:
import java.util.*;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/461257.html
上一篇:在for回圈中有條件地更新值
