Java 8 Streamsのif/elseロジックの使い方

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で入手できます。