[解決済み] Java 8のSpliterator、Collector、Streamを理解する
質問
を理解するのに苦労しています。
Stream
インターフェイス、特にそれが
Spliterator
と
Collector
のインターフェイスになります。私の問題は、単に
Spliterator
と
Collector
のインタフェースがまだ存在せず、その結果
Stream
のインターフェースは、私にとってはまだよくわからないものです。
とは一体何なのでしょうか?
Spliterator
と
Collector
また、どのように使用すればよいのでしょうか?もし、私が自分で
Spliterator
または
Collector
(そして、おそらく私自身の
Stream
その中で、何をすべきで、何をすべきでないか?
ウェブに散らばっている例をいくつか読みましたが、ここでのすべてがまだ新しく、変更される可能性があるため、例やチュートリアルはまだ非常にまばらです。
どのように解決するのですか?
を扱うことはほぼないはずです。
Spliterator
を書くときだけ必要です。
Collection
の型を自分で作成し
また
を使用して、並列化された操作を最適化することを意図しています。
参考までに
Spliterator
は、コレクションの一部を簡単に分割して操作する方法です。例えば、並列化していて、あるスレッドがコレクションのある部分を操作し、あるスレッドが別の部分を操作する、といったような場合です。
の値を保存することは基本的にありません。
Stream
を変数に追加することもできます。
Stream
は、ある種の
Iterator
これは、Javadocの例のように、フルエントチェーンでほとんど常に使用される一回限りのオブジェクトということです。
int sum = widgets.stream()
.filter(w -> w.getColor() == RED)
.mapToInt(w -> w.getWeight())
.sum();
Collector
は、map/reduce のような "reduce" 操作の最も一般的で抽象的なバージョンです。特に、並列化および最終化ステップをサポートする必要があります。 例
Collector
のようなものがあります。
-
の合計、例えば
Collectors.reducing(0, (x, y) -> x + y)
-
StringBuilderによる追加、例.
Collector.of(StringBuilder::new, StringBuilder::append, StringBuilder::append, StringBuilder::toString)
関連
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
Javaエラーメッセージがenclosingクラスでない
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラー java.util.NoSuchElementException
-
springboot project MIMEタイプ text/htmlで転送された静的ファイルを読み込む。
-
java の例外が発生しました java
-
IllegalArgumentException この例外を解決する方法
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
jd-gui Java Exceptionが発生しました。
-
SpringBootApplication を型解決できない。
-
プロジェクトの依存関係を解決できなかった 解決
-
node js npm gruntインストール、elasticsearch-head 5.Xインストール
-
mavenプロジェクトのテストエラー java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig の問題を解決する。