タグ

Javaと使い方に関するlocke-009のブックマーク (2)

  • 怖くないstream()入門 - Qiita

    最近変数に破壊的な操作をするのがちょっと怖くなったり、なんもわからないなりに副作用を減らしてコードを書きたいという欲が出てきたと同時に、周りにstream()を活用してコードを書いている人があんまりいないな、と感じたので自分の書きたい欲を発散すると同時に布教がてらこの記事を書いています。 stream()とは 「そもそもstream()って何?」という人のためにものすごくざっくり説明しておくと、stream()はコレクション(List,Set,Mapなど)に対して様々な処理を行うためのものです。stream()のメソッドを使うと例えば「すべての要素を2倍する」であったりとか、「要素の中で〇〇を含むものだけを取り出す」といったような操作をすることができます。 勘のいい人であれば「それforとifでできるよね」と思ったと思うのですが、その通りです。ではなぜわざわざstream()を使うのでしょ

    怖くないstream()入門 - Qiita
  • Javaのreduceの使い方は2種類ある - プログラマの思索

    Javaのreduceの戻り値が異なるのに戸惑っていた。 Javaのreduceの使い方は2種類ある。 ラフなメモ。 【参考】 Java:Streamのreduceの使用方法 | GWT Center Stream BinaryOperator(Java Platform SE 8 ) Javaのreduceは、Rubyのreduceみたいに、累積する処理みたいなもの。 MapRedcueの間柄のように、map関数とreduce関数はペアで考える。 reduceの引数はBinaryOperator型になるのは分かる。 合計値のように、2つの引数を累積させる処理を行って、1つの戻り値を返すだけ。 しかし、reduce(BinaryOperator)とreduce(初期値, BinaryOperator)は戻り値の型が異なるのに混同していた。 結論は、初期値を設定していなければ、戻り値が空の場

    Javaのreduceの使い方は2種類ある - プログラマの思索
  • 1