タグ

2015年3月10日のブックマーク (3件)

  • Java8 Stream APIの基本(7) - 終端操作2(Stream#collect) - エンタープライズギークス (Enterprise Geeks)

    今回はStream#collectの内部構造の概要を紹介する。 以前の記事では、Streamで加工したデータをList等のデータ構造に変換する際にcollect(Collectors.toList())のようなコードを書いた。 しかしStream#collectはStream APIの汎用的な終端操作であるため、Listだけでなく様々なデータ構造への変換が可能である。 可変リダクション操作とは Stream#collect および、今回解説するCollectorのJavadocには、「可変リダクション操作(mutable reduction operation)」という言葉が登場するので、ここで簡単に説明しておく。 「リダクション操作」とは、一連の要素に特定の演算を適用して1つにまとめる操作である。 たとえば、数値のリストの合計値を求める処理は、数値リストに要素同士の加算という演算を適用し

    Java8 Stream APIの基本(7) - 終端操作2(Stream#collect) - エンタープライズギークス (Enterprise Geeks)
    kimutansk
    kimutansk 2015/03/10
    supplier/accumlator/combiner/finisherを意識してると内部動作がわかるのでそのあたりは重要そうですね。
  • Stream APIの特殊なメソッドとメソッド参照/コンストラクター参照

    連載目次 前回の「Stream APIの主なメソッドと処理結果のOptionalクラスの使い方」では、Stream APIの持つ主なメソッドについて見てきました。今回は前回の記事では紹介できなかったStream APIのメソッドと、ラムダ式と関係が深い「メソッド参照」「コンストラクター参照」について見ていきます。 Stream APIには前回の記事で紹介したもの以外にもさまざまなものが用意されています。今回はStream APIの中でも使う際に注意をする必要があるメソッドを紹介します。 またJava 8では、ラムダ式とともにメソッドの呼び出しやコンストラクターの呼び出しを簡易化したメソッド参照やコンストラクター参照の表記法を導入しました。これらはラムダ式と同様に「関数型インターフェース」を引数として持つメソッドで使われる表記法です。 指定した要素を作成してStreamを生成するgenera

    Stream APIの特殊なメソッドとメソッド参照/コンストラクター参照
    kimutansk
    kimutansk 2015/03/10
    accumulatorの加算メソッドの返り値がその値自体になっていないとreduceは動作しないのが肝ですか。なのでコレクション系はcollectを使うという。
  • Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門

    第25回PaaS勉強会で発表した資料です。 Cloud Foundryの新アーキテクチャ、Diegoについて。Read less

    Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
    kimutansk
    kimutansk 2015/03/10
    疎結合なのでDiego単体でも使えるというのは最近ありがちですか、面白い。あとはオークションによるスケジューリングが気になる所ですね。効率がどう上がるのか。