Bevor hier schon wieder zum x-ten Male große Off-the-topic Diskussionen bezüglich Streams auftreten: Es ist völlig unsinnig, sich über die Lesbarkeit/Kompliziertheit von unterschiedlichen Lösungen mit jemandem (z.B. dir) zu unterhalten, der 99.99% seiner Entwicklerzeit mit Starren auf for-Schleifen verbracht hat und die restlichen 0.01% der Zeit mit kurzen Versuchen, Stream-basierte Lösungen zu verstehen.
Es ist einfach Gewohnheits-/Übungssache. Womit wir aufwachsen, bestimmt unseren Bias einfach massiv.
Ich persönlich finde die Stream-Lösung einfacher zu lesen, aber auch nur deshalb, weil ich vorher ein ganzes Jahr bei einem Kunden gekotzt habe, weil dort NUR und ausschließlich Stream-basierte Lösungen (sogar non-blocking mit Reactor) verwendet werden, und man sich wie im ersten Semester Informatikstudium fühlt. Ja, man muss komplett umdenken. Ja, es ist sehr schmerzhaft. Aber, wenn man die Learning Curve einmal überwunden hat, macht es Spaß und ist einfacher zu verstehen. Und nicht deshalb "einfacher", weil es objektiv einfacher ist (soetwas wie objektive Kompliziertheit/Einfachheit gibt es nicht), sondern weil die Gewohnheit wechselt.