という本を3章まで読んでまぁとりあえずアフィサイト更新APがList処理の塊りなので試しに使って書き換えてみたが、遅延がどうあれ、走査回数は増えるよな、これ。filterとmapの度に半分か全件は読む筈で、更にmapで新オブジェクトゾロゾロ作る。
つか改造前は1回の全件走査で全部の判定や処理が行われるようにしてたからなー。まぁFTPがあるからListの操作回数の1000や2000の増加は全体の処理速度から見るとどうでも良いと言えば良いんだが…。しかし塵も積もればでこまめに遅くなる書き方をするのはどうかと思ったり。
見易くなったか、と言うと、filterで使える式にするためにfor文の中の処理を色々別メソッドに整理したのでまぁ見易くなったような気がしないでもない。別メソッドではなくFunctionで何か上手く書けるのではなかろうかと思わないでもないが良く分からないのでおいおい。
あとfilterはつなげていくと要はAND条件になる訳だが、OR条件を記述する技は無いものか。今は1つのfilterの式の中に||で続けて書いてる。となると実は複数のfilterも&&で1つのfilterにまとめた方が効率が良かったりする事は無かろうか。4章から先に何かその辺が書いてあるのかもしれない。
ところで本書のコードってstreamを一切closeしてないけど良いのだろうか。

Javaによる関数型プログラミング ―Java 8ラムダ式とStreamJavaによる関数型プログラミング ―Java 8ラムダ式とStream
Venkat Subramaniam 株式会社プログラミングシステム社

オライリージャパン 2014-10-24
売り上げランキング : 48647

Amazonで詳しく見る
by G-Tools