Java 8とラムダを使用すると、コレクションをストリームとして反復するのが簡単で、並列ストリームを使用するのと同じくらい簡単です。docsの 2つの例、2番目の例はparallelStreamを使用しています。
myShapesCollection.stream()
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));
myShapesCollection.parallelStream() // <-- This one uses parallel
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));
順序を気にしない限り、パラレルを使用することは常に有益ですか?より多くのコアで作業を分割する方が速いと思う人もいるでしょう。
他の考慮事項はありますか?並列ストリームはいつ使用し、非並列ストリームはいつ使用する必要がありますか?
(この質問は、並列ストリームをいつどのように使用するかについてのディスカッションをトリガーするためのものです。常にそれらを使用することは良い考えだと思うからではありません。)