「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);
}
}
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);
}
}
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
いずれかの要素が条件に一致結果1: false
いずれかの要素が条件に一致結果2: true
いずれかの要素が条件に一致結果1: false いずれかの要素が条件に一致結果2: true