「Java8」ストリーム APIのanyMatchメソッドでいずれかの要素が条件を満たす評価する方法

環境
JavaSE 1.8
Eclipse IDE 2019-12

書式
boolean anyMatch(Predicate<? super T>p)
ストリーム内のいずれかの要素が条件を満たす場合、Trueを返す。
パラメータ:
predicate – ストリームの要素に適用する非干渉でステートレスな述語
戻り値:
指定された述語に一致する要素がストリーム内に存在する場合はtrue、そうでない場合はfalse

使用例

package com.arkgame.study;

import java.util.stream.IntStream;

public class ArkgamelDemo {

      // static 変数の宣言
      private static int LEVEL = 60;

      public static void main(String[] args) {
            // いずれかの要素を順次にストリームを返す
            IntStream stream = IntStream.of(70, 82, 93, 64, 85);
            // anyMatchメソッドを呼び出していずれかの要素が60未満の場合、true
            boolean result = stream.anyMatch(i -> i < LEVEL);
            System.out.println("いずれかの要素が条件に一致結果1: " + result);

            // いずれかの要素を順次にストリームを返す
            IntStream streamB = IntStream.of(40, 82, 93, 64, 85);
            // anyMatchメソッドを呼び出していずれかの要素が60未満の場合、true
            boolean result2 = streamB.anyMatch(i -> i < LEVEL);
            System.out.println("いずれかの要素が条件に一致結果2: " + result2);

      }

}

実行結果

いずれかの要素が条件に一致結果1: false
いずれかの要素が条件に一致結果2: true

 

Java

Posted by arkgame