Java の
Stream API を扱う際によくあるミスをまとめた実践ガイド: ストリームの一回限りの性質と終端操作の重複実行(
collect()、
forEach()、
count())、走査中のコレクション変更、無限ストリーム(
iterate、
generate)での
limit() の付け忘れ、
null の扱いと
flatMap(Optional::stream) による
Optional の処理、
forEachOrdered() による順序の保持、
Set を用いた効率的な集合演算、適切なリソースクローズ(
Files.lines + try-with-resources)、
parallelStream() の注意点、そして「終端オペレーターが呼ばれるまで何も実行されない」という原則。各問題には分かりやすい例と修正案が付いています。