如何在Java 8流中使用if / else邏輯
1.概述
在本教程中,我們將演示如何使用Java 8 Streams
實現if / else邏輯。作為本教程的一部分,我們將創建一個簡單的算法來識別奇數和偶數。
我們可以看一下本文,以了解Java 8 Stream
基礎知識。
2. forEach()
常規if/else
邏輯
首先,讓我們創建一個Integer List
,然後在Integer
流的forEach()
方法中使用常規的if / else邏輯:
List<Integer> ints = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
ints.stream()
.forEach(i -> {
if (i.intValue() % 2 == 0) {
Assert.assertTrue(i.intValue() % 2 == 0);
} else {
Assert.assertTrue(i.intValue() % 2 != 0);
}
});
我們的forEach
方法包含if-else邏輯,該邏輯使用Java模運算符驗證Integer
是奇數還是偶數。
3. if/else
邏輯帶filter()
其次,讓我們看一下使用Stream filter()
方法的更優雅的實現:
Stream<Integer> evenIntegers = ints.stream()
.filter(i -> i.intValue() % 2 == 0);
Stream<Integer> oddIntegers = ints.stream()
.filter(i -> i.intValue() % 2 != 0);
evenIntegers.forEach(i -> Assert.assertTrue(i.intValue() % 2 == 0));
oddIntegers.forEach(i -> Assert.assertTrue(i.intValue() % 2 != 0));
上面我們使用Stream filter()
方法實現了if / else邏輯,將Integer List
分為兩個Stream
,一個用於偶數整數,另一個用於奇數整數。
4。結論
在這篇快速文章中,我們探討瞭如何創建Java 8 Stream
以及如何使用forEach()
方法實現if / else邏輯。
此外,我們學習瞭如何使用Stream filter
方法以更優雅的方式獲得相似的結果。
最後,可以在Github上獲得本教程中使用的完整源代碼。
0 條評論,你可以發表評論,我們會進行改進
