Java 8ストリームでif / elseロジックを使用する方法
1. 概要
このチュートリアルでは、Java 8Streamsを使用してif / elseロジックを実装する方法を示します。 チュートリアルの一部として、奇数と偶数を識別する簡単なアルゴリズムを作成します。
this articleを見て、Java 8Streamの基本に追いつくことができます。
2. forEach()内の従来のif/elseロジック
まず、Integer Listを作成してから、IntegerストリームforEach()メソッド内で従来のif / elseロジックを使用します。
List 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);
}
});
Javaモジュラス演算子を使用したOur forEach method contains if-else logic which verifies whether the Integer is an odd or even number。
3. if/elseロジックとfilter()
次に、Stream filter()メソッドを使用したより洗練された実装を見てみましょう。
Stream evenIntegers = ints.stream()
.filter(i -> i.intValue() % 2 == 0);
Stream 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()メソッドto separate the Integer List into two Streams, one for even integers and another for odd integers.を使用してif / elseロジックを実装しました
4. 結論
この簡単な記事では、Java 8Streamを作成する方法と、forEach()メソッドを使用してif / elseロジックを実装する方法について説明しました。
さらに、Stream filterメソッドを使用して、よりエレガントな方法で同様の結果を達成する方法を学びました。
最後に、このチュートリアルで使用されている完全なソースコードは、over on Githubで入手できます。