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

mavenでJavadoc出力

Netbeansでプロジェクトから右クリックでjavadocの生成はできますが、実はmavenでビルドするときにJavadocを生成できます。 ただ出力するだけではなくてパラーメータをいろいろとセット …

no image

ガベージコレクタに関して

本日はガベージコレクタに関して。 Contents1 ガベージコレクタとは?1.1 1 nullを代入1.2 2 参照変数を他のオブジェクトに割り当てる1.3 finalize()メソッドの定義 ガベ …

no image

正規表現(判定:置換:抽出)

Javaの正規表現を利用した置換、抽出について書きます。 Contents1 正規表現の基本ルール2 Javaでの正規表現の処理の流れ3 実処理3.1 判定3.2 抽出3.3 置換 正規表現の基本ルー …

no image

Netbeansのショートカット

超小ネタ。 Netbeansでのショートカットなど。 Contents1 整形2 サーバーログ消し&拡大3 インポートの挿入4 矩形選択5 関数の呼び出し元に戻る 整形 ショートカット(Alt+Shi …

no image

mavenのゴール

以前、pomに依存ライブラリを記述しましたが、コンパイルのときのみクラスパスが通っており、実行時にはクラスパスが通っていない、NoClassDefFoundErrorがでたことがありました。 気づいた …

アーカイブ