Java

Java StreamAPIは便利なので使い方を覚えよう!!mapメソッドとfilterメソッドの使い方!!

今回のテーマ

こんにちは、かっぱちゃんです!!

新しいプロジェクトでJavaのSpring bootを使ったシステム開発することになったので、

これからはJavaの記事も作っていきます。

今回はJavaにもC#のLinqに似た処理が書けることが分かったので、その記事を書いていきます。

それではどんどん使っていきましょう!!それでは、どうぞ!!

KappaChan
今回はJavaの記事かっぱ!!

mapメソッド

まずは一番使用する頻度が高いStreamAPIのmapメソッドを使っていきましょう!!

行いたい処理

int型リストの全ての要素に対して2を足す。

StreamAPIを使用した例

 result
3
4
5
6
7

リストの全ての要素に対して、2を足すことができました。

ココがポイント

ここでは、「引数(リストの各要素) -> return文の結果」と考えて頂ければと思います。

もう1つ、mapメソッドを使用した例を書いていきます。

行いたい処理

string型リストの全ての要素に対し、「マン」を追加する。

StreamAPIを使用する例

 result
ロックマン
ファイヤーマン
アイスマン
エレキマン
カットマン
ボンバーマン
ガッツマン

ゲームが好きな人なら知っているロックマン1のボス達ですね!!mapメソッドであれば、各要素に文字列の連結も可能です。

こちらも左辺は引数(配列の各要素)、右辺は戻り値の結果と考えてください。

イメージとして、下記の表をみると分かりやすいかもしれません。

左辺:引数(配列の各要素) 右辺:戻り値の結果
ロック ロックマン
ファイヤー ファイヤーマン
アイス アイスマン
エレキ エレキマン
カット カットマン
ボンバー ボンバーマン
ガッツ ガッツマン
KappaChan
1行で処理を書けてとても便利かっぱ!!

filterメソッドの使い方

続けて、filterメソッドの使い方をみていきましょう!!

行いたい処理

int型リストの中で偶数の条件のみ取りだし、新しいリストを作成する。

StreamAPIを使用する例

 result
2
4

1行で偶数のみのリストを作成することができましたね!!

ココがポイント

StreamAPIのソースコードは下記の部分ですね。=>の左辺には配列の各値の引数を右辺には条件を記述します。右辺に記述した条件の結果(true、false)を返します。

Whereメソッドでは、結果がtrueとなる値のみ残してくれます。

もう1つ、文字列の配列を例としてfilterメソッドを使用してみましょう!

行いたい処理

string型の配列から「マン」が付いている文字列のみ出力できるようにしたい。

StreamAPIを使用する例

 result
ロックマン
エレキマン
カットマン
ボンバーマン

こちらも左辺は引数(配列の各要素)、右辺に記述した条件の戻り値の結果(true、false)と考えてください。

こちらもイメージとして、下記の表を作りました。

左辺:引数(配列の各要素) 右辺:条件の戻り値の結果(条件はContains("マン"))
ロックマン true
ロールちゃん false
ワイリー false
エレキマン true
イエローデビル false
カットマン true
ボンバーマン true

filterメソッドでは、上記のtrueの要素のみ残るという訳ですね!!

filterメソッドの使い方は以上です!

mapメソッドとfilterメソッドを一緒に使用する

最後にmapメソッドとfilterメソッドを一緒に使用して見ましょう。

行いたい処理

string型のリストからマンがつく文字列のみ取り出し、「大好き!」という文字列を追加する。

StreamAPIを使用する例

 result
ロックマン大好き!
エレキマン大好き!
カットマン大好き!
ボンバーマン大好き!

上記のようにStreamAPIのメソッドを組み合わせて使用することも出来ます。

まとめ

今回はStreamAPIの基本となる二つのメソッドの使い方でした。

使い方としてはC#のLinqと同じなので、そこまで悩むことはありませんでした。

今後の記事では、StreamAPIの色々なメソッドの使い方について見ていきたいと思います。

最後まで見て頂き、ありがとうございました。

KappaChan
最後までみてくれてありがとうかっぱ!

 

プログラミングを一人で独学をするならプロからオンラインで教えてもらいましょう!10倍効率いいです!!

数多くあるプログラミング教室の中で2つのオンライン教室を厳選しました!どちら共、エンジニアとしての就職までサポートしてくれる本当にオススメの教室です。個別相談は完全無料です!!

カウンセリングは完全無料!未経験でITエンジニアを目指したい方にオススメ!

Webエンジニアになりたい方にオススメ!個別相談は無料!

KappaChan
オンラインのプログラミング教室は本当にオススメかっぱ!!

-Java

X