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

JSFを使ったAjax

現在開発中のサブプロジェクトでJSFからAjaxを使う機会があったので紹介します。 仕様自体は非常にシンプルで下記の画面でプルダウンが変更になったときにDBを見に行って画面の値を更新するような仕様です …

no image

Seleniumの値基本動作まとめ

以前、「Seleniumでの画面テスト」というエントリーでのテストフレームワークとして、Seleniumを紹介しました。 上記のエントリーですが、単なるインストールと基本的な起動、簡単な文字入力ぐらい …

no image

クラスパスの通し方

今回はNetbeansでなく、IDEを使わずにJavaを使う場合の記事です。 Javaで開発している人の99%はIDEで開発をしていると思うのですが、サーバー上で一時的テストをしないといけないような場 …

no image

Javaでのスクレイピング

スクレイピングというと一般的にはRubyが一番有名なようですが、もちろんスクレイピング自体はどの言語でも行うことができます。 Contents1 スクレイピングの手法1.1 正規表現1.2 HTMLパ …

no image

try~catch~finallyで気を付けること

JavaでExceptionが発生したとき、基本的にはtry~catch~finallyをつかっているのですが、今回Exceptionが吐かれないという事態があったのでメモします。 [crayon-6 …

アーカイブ