Java Streams を使用する場合、開発者は、groupingBy() メソッドと Reduce メソッドの両方を使用する状況に直面することがよくあります。 () コレクターはデータを操作します。ただし、場合によっては、toMap() メソッドを使用する方が効率的です。
パターンとは何ですか?
前の記事で @Holger が指摘したように、議論の中で、groupingBy で削減コレクターを使用する場合、多くの場合、代わりに toMap コレクターを使用する方が適切であることがわかりました。このパターンは、数多くの Stackoverflow ディスカッションの経験と観察を通じて明らかです。
toMap() が推奨される理由
groupingBy コレクターは引数として 2 番目のコレクターを期待しており、データのグループに Mutable Reduction を適用するのに適しています。対照的に、マージ関数を備えた toMap コレクターは、古典的なリダクションに最適です。 toMap のマージ関数は、そのようにラベル付けされていませんが、リダクション関数と同様の目的と形状を持っています。
実際には、リダクションを実行するコレクターは Optional を返しますが、これは使用時に必ずしも望ましいとは限りません。グループ化による。このようなケースをよりシームレスに処理するため、toMap が登場します。
追加のパターン
この特定のパターンは特定されていますが、さらに多くのパターンが存在する可能性があります。これらの API を使用すると明らかです。ただし、それらすべてを 1 つの回答に収集することは Stackoverflow の範囲を超えています。開発者は、これらの API をさらに調査し、その経験を共有して、追加のパターンやベスト プラクティスを明らかにすることをお勧めします。
以上がJava Streams で GroupingBy や Reducing の代わりに toMap() を使用するのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。