パラレル・ストリームでラムダへのforeachを変更すると、私はそのような流れとラムダなどのJava 8の機能を使用してこのコードを改善したいが、私は、ラムダに外部変数を変更することはできません私は不正行為を試みましたが、それはひどい解決策でした。は、どのように私は方法</p> <pre><code>private Set<Chapter> chapters; public long getCount() { long count = 0; for (Chapter chapter : chapters) count += chapter.getCount(); return count; } </code></pre> <p>次いる
public long getCount() {
final long[] count = {0};
chapters.parallelStream().forEach(chapter -> count[0] += chapter.getCount());
return count[0];
}
私にそれを手伝ったり、役立つリンクを教えてもらえますか? 重複していると申し訳ありません。
を持つ単一行の解決策を見つけるよもはや問題ではありません* 。だから、全く解決策はありません。しかし、あなたは既に正しい解決策を見つけました。(http://stackoverflow.com/a/37249194/2711488)... – Holger