プログラミング Java

【Java】MapをStreamで処理する方法 7選!

投稿日:

概要

【Java】ListをStreamで処理する方法 7選!
【Java】SetをStreamで処理する方法 7選!
に続き、Map編です。

Mapをstreamで扱う場合、entrySetまたはKeySetでSetビューを返してかstreamを呼ぶ必要があります。

また、HashSetと同様にHashMapは順序が保証されていないため、最初から順序を保証しておきたい場合はLinkedHashMapを使う必要があります。

実装例は、Setの時と同様によく使うであろうHashMapで解説していきます。
 

実装例

特定の要素のみを取得する

中間処理:カテゴリーが”玩具”だけのProductに絞り込みます。
終端処理:HashMapに変換して結果を返します。

 

合計を算出する

中間処理:IntStreamに変換します。
終端処理:合計した結果を返します

 

並べ替えた結果を取得する(昇順)

中間処理:金額の昇順で並び替える。(テスト用に最初の1件だけ取得)
終端処理:LinkedHashMapに変換して結果を返します。

 

並べ替えた結果を取得する(降順)

中間処理:金額の降順で並び替える。(テスト用に最初の1件だけ取得)
終端処理:LinkedHashMapに変換して結果を返します。

 

最初の要素を取得する

中間処理:Keyの昇順で並び替える。
終端処理:最初の1件を返します。

 

最後の要素を取得する

中間処理:Keyの降順で並び替える。
終端処理:最初の1件を返します。

 

中間処理:Formatterで変換した文字列を生成する。
終端処理:Listに変換した結果を返します。

 

まとめ

  • MapはentrySetまたはkeySetでSetビューを返してからStreamメソッドを呼び出す。
  • HashMapもHashSetと同様に順序が保証されていないので、最初から順序を保証する必要がある場合はLinkedHashMapを使用する。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

【Java入門】インターフェースの使い方まとめ

概要 インターフェースとは、内部実装を知る必要なく、利用する機能の接点のみを提供する仕組みです。 接点をソフトウェア的にいうと、メソッドのシグネチャと戻り値の型に当たります。 つまり、どんなメソッドに …

難しい,困難,頭を抱える

オブジェクト指向が難しいと思うならこれを読め!

オブジェクト指向はJava、JavaScript、PHP、Python、Rubyなどなど 色んな言語で使われているパラダイム(考え方)です。 上から順に追っていくだけ(手続き型)ではわからない仕組みに …

junit, テスト, junit5

【JUnit5】基本的なAssertionまとめ

概要 JUnit5における基本的なAssertionをまとめました。 検証方法 等価性 値が等価であるかを検証するメソッドです。 以下はorg.junit.jupiter.api.Assertions …

【Spring】バリデーション時に、入力値を保持する方法

登録画面で「登録」ボタンを押した後、 バリデーションで引っ掛かってエラーになっても 入力内容を画面に保持して置く方法についてです。 テンプレートエンジンは、Tymeleafを使用しています。 方法とし …

MySQL-タイムゾーン設定すると起動しなくなる原因と対処方法

MySQLのタイムゾーン設定をすると、XAMPPでMySQLが起動できなる原因と対処法です。   原因 原因は、MySQL(MariaDB)は最初から日本語設定が入ってないためです。 def …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。