talosのプログラミング教室

Java Gold合格への道 ~StreamAPI・anyMatch、allMatch、noneMatch~

スポンサーリンク

こんにちは。たろすです。

今回はStreamAPIのanyMatch、allMatch、noneMatchについて説明します。

三つともPredicateオブジェクトを引数に取り、boolean型の戻り値を返すメソッドです。

それぞれどのような使い方をするのか見ていきましょう。

anyMatch

ストリームの要素のうち一つでも引数のPredicateオブジェクトの評価に当てはまる場合にtrueを返します。

以下のように使います。

int[] array = { 1, 2, 3 };
IntStream stream1 = Arrays.stream(array);
System.out.println(stream1.anyMatch(n -> n == 2));
IntStream stream2 = Arrays.stream(array);
System.out.println(stream2.anyMatch(n -> n == 0));
true
false

allMatch

ストリームの要素すべてが引数のPredicateオブジェクトの評価に当てはまる場合にtrueを返します。

以下のように使います。

int[] array = { 1, 2, 3 };
IntStream stream1 = Arrays.stream(array);
System.out.println(stream1.allMatch(n -> n == 2));
IntStream stream2 = Arrays.stream(array);
System.out.println(stream2.allMatch(n -> n > 0));
false
true

noneMatch

ストリームの要素すべてが引数のPredicateオブジェクトの評価に当てはまらない場合にtrueを返します。

以下のように使います。

IntStream stream1 = Arrays.stream(array);
System.out.println(stream1.noneMatch(n -> n == 2));
IntStream stream2 = Arrays.stream(array);
System.out.println(stream2.noneMatch(n -> n < 0));
false
true

おわりに

今回はStreamAPIのanyMatch、allMatch、noneMatchについて説明しました。