こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 JavaのStream APIのnoneMatchメソッドについて
- Stream APIのnoneMatchメソッドとは
- Stream APIのnoneMatchメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
Stream APIについては、こちらの記事をご参考ください。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
IntelliJ IDEAのエディション | Community(無料版) |
IntelliJ IDEAのバージョン | 2021.3.2 |
プロジェクト | Javaプロジェクト |
SDK | Oracle OpenJDK version17.0.2 |
Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。
Stream APIのnoneMatchメソッドとは
Stream APIのnoneMatchメソッドとは、ストリームのすべての要素が指定した条件に合致しないかをboolean型で返すメソッドです。
すべて合致しなかった場合のみtrue、1つでも合致した場合はfalseを返します。
noneMatchメソッドは、終端操作です。
使い方サンプルは以下になります。
1 2 3 |
boolean 【変数】 = 【Stream】 .【中間操作】 .noneMatch(【引数】 -> 【条件式】); |
注意点としてStreamが空だった場合、trueを返します。
では、次の章で実際に使ってみます。
Stream APIのnoneMatchメソッドを解説するプログラムの概要
Stream APIのnoneMatchメソッドを解説するプログラムでは、与えるStreamの判定結果が
- trueの場合
- falseの場合
- Streamが空の場合
の3パターンでnoneMatchメソッドを使って全要素を判定し結果を表示して確認します。
解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
Javaサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
package sample; import java.util.ArrayList; import java.util.Arrays; import java.util.stream.IntStream; import java.util.stream.Stream; public class Sample { public static void main(String[] args) { System.out.println("■noneMatchメソッドサンプルプログラム"); System.out.println("・すべて20文字以上か判定(trueの場合)"); ArrayList<String> fruitList = new ArrayList(Arrays.asList("apple", "kiwi fruit", "strawberry", "orange")); boolean resultTrue = fruitList.stream() .noneMatch(fruit -> fruit.length() >= 20); System.out.println("結果:" + resultTrue); System.out.println("・偶数のみであるか判定(falseの場合)"); boolean resultFalse = IntStream.range(1, 6) .noneMatch(i -> i % 2 == 0); System.out.println("結果:" + resultFalse); System.out.println("・空のストリームを判定"); Stream<String> emptyStream = Stream.empty(); boolean resultEmpty = emptyStream .noneMatch(str -> str.length() > 3); System.out.println("結果:" + resultEmpty); } } |
サンプルプログラムで使っている
- IntStream.rangeメソッド
- Arrays.asListメソッド
- String.lengthメソッド
は詳しくはこちらの記事をご参考ください。
【Java】Stream APIのIntStream.rangeメソッドについて解説します
Arrays.asListメソッド
【Java】配列をList型に変換できるArrays.asListメソッドを解説します
String.lengthメソッド
【Java】文字列の長さを取得できるString.lengthメソッドについて解説します
実行結果
Javaプログラムを実行します。
実行のやり方は
- プログラムを右クリックして実行
- 実行タブから実行
- ガターから実行
の3種類あるので、いずれかで実行します。
詳しい解説は以下の記事をご参考ください。
1 2 3 4 5 6 7 |
■noneMatchメソッドサンプルプログラム ・すべて20文字以上か判定(trueの場合) 結果:true ・偶数のみであるか判定(falseの場合) 結果:false ・空のストリームを判定 結果:true |
noneMatchメソッドですべての要素が条件に合致しないときのみまたは空であるときにtrue、合致していたときはfalseを返していることが確認できました。
まとめ:Stream APIのnoneMatchメソッドを使ってみよう!
以上がJavaのStream APIのnoneMatchメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント