1概要

このチュートリアルでは、if/elseロジックをJava 8

Streams

で実装する方法を説明します。チュートリアルの一部として、奇数と偶数を識別するための簡単なアルゴリズムを作成します。

私たちはhttps://www.baeldung.com/java-8-streams-introduction[この記事]を見て、Java 8

Stream

の基本に追いつくことができます。


2

forEach()内の従来の

if/else

ロジック


まず、

Integer List

を作成し、

Integer

stream

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

    メソッドには、Javaのモジュラス演算子を使って

    Integer

    が奇数か偶数かを検証するif-elseロジックが含まれています。


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

を2つの


Stream

__に分割しました。


4結論

このクイック記事では、Java 8

Stream

の作成方法と、

forEach()

メソッドを使用したif/elseロジックの実装方法について説明しました。

さらに、より洗練された方法で、

Stream filter

メソッドを使用して同様の結果を得る方法を学びました。

最後に、このチュートリアルで使用されている完全なソースコードはhttps://github.com/eugenp/tutorials/tree/master/core-java-8[Githubで利用可能]です。