無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
OK

著者の本をもっと見つけたり、似たような著者を調べたり、おすすめの本を読んだりできます。
これまで何となくでコードを書いてしまっていたことに反省です…
ラムダ式はともかくStreamがピンとこなくて困っていました。
この本を読み解釈を深めることでやっと自分の中の歯車が噛み合いました。
やったね🤗
特に後半で無理やりラムダ式を使おうとしていてトリッキーな感じになっていていまいち参考にならない部分も多い
所詮Java8まで登場しなかった程度には不要な技術なので、ちょっと便利になったな、程度にとらえるのが正解。
上記の認識を固めさせてくれたので書籍としての価値は非常に高い。翻訳は全然ダメな箇所がちらほら。
これまで書いていた命令型のループ文や匿名内部クラスなどの儀式的な作業を一切排除し、不変値の使用や関数型言語の恩恵で自然言語を書くように流暢にコーディングできるため、ビジネスロジックに専念できる。まさに禁断術... 書いていてもはや java じゃない... と何度か感じたが、良い。いや、最高...
ストリームを使ったプログラムをどのように設計すべきかという本。
JavaAPIに関してはさほど詳しくはないので他の本を参考にすべきかと思いますが
道具をどのように使うべきかはAPIのJavaDocを見ても分からない。
そこで本書です。
・ラムダ式も再利用するためには変数に取る。
・ラムダ式を返すようなメソッドないしラムダ式を作るべき。
・オブジェクトのライフサイクルをライブラリー側で制御できるようなラムダ式の使い方。
・遅延評価を利用したパフォーマンス向上のやりかた。
・再帰構造の効率化(末尾再帰、メモ化)
などなどが記載されています。
ストリームとラムダ式を有効に使いたいという方は一読の価値有りと思います。
個人的な印象として再帰に関してはJavaではまだまだという感じもします。
末尾評価を実現するための方法は他言語にくらべ可読性がよいとはいえません。
APIがもう少し発展してほしいところです。
本書を読んでいると,「ずいぶんとダサいコードを書いているのね」と
言われているような感じを受ける.
命令型のプログラムはこの本では何か臭うプログラムと表現され,
臭わない関数型のエレガントなコードの書き方を教えてくれる.
関数型のメリットについても書いてある.
だが,どうして関数型になるとそういう書き方なのかについては教えてくれないので,
難しい本だ.
「7章 再帰の最適化」では,序盤で散々ダメだといったfor文を使っているのは
何故なのか?そこはforeachでは書けなかったのか?
名詞の王国にも、ついに動詞の自治区が誕生した。それを支えるのが、ラムダ、FunctionalInterface、インターフェイスメソッドのデフォルト実装(staticも可)、Stream、Optionalといった機能だ。本書は、これらの応用例を程よいボリュームにまとめている。扱うテーマは、リスト処理(map, filter, reduce)、リソースやロックの管理、遅延処理、再帰、メモ化、並列化など。ラムダやメソッド参照の構文を集めた付録も気が利いている。
文章のつながりがイマイチだったり、掲載コードのインデントや改行位置が妙だったりするが、それも許容範囲内。関数型プログラミングが初めての人にはもちろん、経験のある人にとっても、まぁギリギリ価格分の価値はあると思う。ただ、OptionalやStreamのflatMap(つまりモナド)については深入りしてないので注意。