「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