タグ

Streamに関するdmizuno55のブックマーク (4)

  • Stream API入門 - Qiita

    Nodeのアドベントカレンダー、既に終わった枠が空いていて、この際書きたいネタがあったんで参加しました。宜しくお願いします。 アドベントカレンダーの時期だけ出没する弱い日曜Haskellerです。普段の実務ではNode.jsにお世話になってます。宜しくお願いします。 さて、みなさんStream API使ってますか?Node.jsといったら非同期ですよね、やっぱり。しかしながら、JavaScriptでも他の言語でも、非同期処理自体は注目されているものの、まだexperimentalという感じで様々なAPIが考案されては消えていき、また元々そういう文化が根強くなかったところから来た人たちにとって、こういう文化はちょっと立ち入りづらいところもあるかもしれませんね。 今日は、主にそういう人たちに向けて、まず非同期の色々なAPIの紹介、そしてその中でのストリームのメリット、そして実際のStream

    Stream API入門 - Qiita
  • Java8 Stream APIの基本(4) - ストリームの内部 - エンタープライズギークス (Enterprise Geeks)

    先日の記事ではStreamの基的な生成処理について述べた。 今回はStreamの内部処理で扱われるSpliteratorについて解説する。 Spliterator Spliteratorは分割可能なイテレータであり、Streamの低レベルAPI用のインターフェースである(名前の由来はsplititeretorの合成と思われる)。コレクションの繰り返しにはIteratorが使われるように、Streamの要素の走査は内部的にSpliteratorを用いている。 Spliteratorには 要素を2つに分割する trySplitメソッドがあり、並列ストリームで各スレッドに要素を分割する方法として使用されている。 また中間・終端走査や、並列処理を効率化するヒントとして、characteristics(性質)、 estimateSize(サイズ)等の属性を持つ(characteristicsにつ

    Java8 Stream APIの基本(4) - ストリームの内部 - エンタープライズギークス (Enterprise Geeks)
  • [Java] IteratorをStreamにする - Qiita

    目的 自力で任意のストリームを作る最善の方法…はわかりませんが、とりあえず Iterator があれば Stream にできます すぐ忘れるのでメモ サンプル import java.util.Spliterator; import java.util.Spliterators; import java.util.stream.Stream; import java.util.stream.StreamSupport; //... // Iterator を Stream にする Spliterator<String> spliterator = Spliterators.spliteratorUnknownSize(iterator, 0); Stream<String> stream = StreamSupport.stream(spliterator, false); Spliter

    [Java] IteratorをStreamにする - Qiita
  • Java8のStream#collectをparallelsに実行するときに結果コンテナの変更をスレッドセーフにすべきか? - Qiita

    Java8のStream#collectをparallelsに実行するときに結果コンテナの変更をスレッドセーフにすべきか?Java 概要 Stream#collectを行う場合、parallelsなStreamにすると、Supplierが作成した結果コンテナに対してマルチスレッドでAccumulatorがどんどん値を突っ込んで行く、さらに複数の結果コンテナを複数スレッドでCombineしていくらしいので場合によってはAccumulateとCombineで結果コンテナを変更する処理をスレッドセーフに作らないといけないのか?と考えたのがきっかけ。 http://docs.oracle.com/javase/8/docs/api/java/text/Collator.html を見ると大丈夫そうなんですが、筆者は英語が苦手なので(苦笑)実際動かして試してみました。 結論 結果コンテナ(ここで言う

    Java8のStream#collectをparallelsに実行するときに結果コンテナの変更をスレッドセーフにすべきか? - Qiita
  • 1