慕尼黑8549860
2019-04-11 14:15:33
我需要?jiǎng)?chuàng)建一個(gè)整數(shù)數(shù)組,它將包含0到53之間的所有數(shù)字,但是我希望從數(shù)組中排除一些整數(shù)。在Java中有任何功能嗎?我有一個(gè)包含排除的數(shù)組。這背后沒有邏輯(事實(shí)上,有一個(gè)邏輯,但我不知道如何表達(dá)這一點(diǎn)),因此我創(chuàng)建了一個(gè)數(shù)組來指定:int[] exclusions = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 35, 36, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53};我看到了一個(gè)類似于我想做的事情的例子,但在C#中(這個(gè)問題是關(guān)于一個(gè)隨機(jī)數(shù),這不是我想要的,但類似于)。
2 回答

婷婷同學(xué)_
TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
你可以用幾種方法做到這一點(diǎn)。首先是使用concatIntStream 的功能。以下列出了0-5,10-15和20-25的列表。
int[] vals = IntStream.concat(
IntStream.concat(IntStream.range(0, 6), IntStream.range(10, 16)),
IntStream.range(20, 26)).toArray();
System.out.println(Arrays.toString(vals));
您還可以只列出要排除的數(shù)字列表。此示例排除篩選器列表中的那些。
int[] vals2 = IntStream.range(0, 54).filter(
a -> !List.of(10, 20, 30, 40).contains(a)).toArray();
System.out.println(Arrays.toString(vals2));
添加回答
舉報(bào)
0/150
提交
取消