タグ

ブックマーク / qiita.com/huge-book-storage (1)

  • いまさらJavaのStream APIにおける「stream」「collect」の意味を考察する - Qiita

    はじめに 既に大分前になりますが、JavaにStream APIという関数型プログラミング的手法が導入されました。 関数型プログラミングは既に一般的に広まっており、Javaはかなり後発の部類に入りますが、やはり導入された理由は、うまく使いこなせれば可読性の高いコードを効率的に書けるようになるメリットがあるからと考えています。 (参考:「平凡なプログラマにとっての関数型プログラミング」) しかし先日、とある講演にて、「Javaのコレクション操作(Stream API)は、Haskellなど純関数型言語と比べると無理やり感があって使いたくない」という話を聞きました。 具体的に言えば、関数型言語ならlist.map(...)で済むものを、Javaの場合は一々 list.stream().map(/* */).collect(Collectors.toList()) みたいにstream()を挟ん

    いまさらJavaのStream APIにおける「stream」「collect」の意味を考察する - Qiita
  • 1