skillup

技術ブログ

Java

StreamのMap処理

投稿日:2015年8月9日 更新日:

Javaのstreamですが知れば知るほどいろいろな機能がありますね。

基本的にプログラムって配列(コレクション含む)とオブジェクトの処理が中心になるので、配列の処理をいかにうまくできるかは非常に大事です。

Javaは当初、配列関連のライブラリが貧弱やなーとかおもっていたんですが、streamを調べてみるとすごくいろいろなことができてビックリ。

例えば下記のようなデータを区切り文字で一気につなげることができます。

これを下記のように変換したいとします。

上記のようなマップがあったとして下記のような変換で変えることができます。

Mapのなかに入っているオブジェクトはname,age,prefのみとし、このオブジェクトをPersonとします。

Map<String,List<Person>>[personPrefListMap]を Map<String,String>[personPrefList]にしたいとします。

この処理がこれだけの行数でかけてしまうのが驚きです。

本来は1行でかけるのでしょうが見やすさと自分のスキルを考えて今は上のように書いておきました。

ともかく便利すぎです・・・

ちなみに下記にはもっと詳しい解説があります

Java Streamサンプル

-Java
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

メソッドのtransient

エンティティを作成するときに、データベースのカラムにない値をプロパティを持たせるためにはtransientという修飾子が必要です。 参考リンク フィールド以外のプロパティをエンティティに持たせる 通常 …

no image

型パラメータに関して その2

Javaでオブジェクト指向に基づいたコーディングをするために必須であり、最初の難関だったのが型パラメータでした。 Contents1 型パラメータが必要なケース2 型パラメータの制限3 クラスインスタ …

no image

JPQLでの算術関数

複雑なJPQLを書いていると、通常のレコードの取り出しだけではなく、合計(SUM)や算出(COUNT)などのいわゆる算術関数を使うことが一般的です。 JPQLでもこれらを通常通り扱うことができます。 …

no image

JSPでのAjax(dwr使用)

JSPネタ3本目。 Ajaxです。 こちらも独自のライブラリを使うようですね。 drwというものが有名のようです。 Contents1 dwr1.1 pomでの記述1.2 web.xml1.3 dwr …

no image

JPAを使用する  JavaSE編

現在の開発ではデータベースへの接続ではJPAを使っています。このJPAがなかなか曲者でいろいろと詰まることがありましたので解説させていただきます。 Contents1 JPAとは?1.1 メリット1. …

アーカイブ