Yorumumu biraz uzatmam gerektiğini hissediyorum ...
Paradigma \ style hakkında
Muhtemelen en dikkat çekici yönü budur. FP, yan etkilerden kaçınabileceğiniz için popüler oldu. Bu soru ile ilgili olmadığından, bundan ne tür artıları alabileceğinizi derinlemesine araştırmayacağım.
Bununla birlikte, Iterable.forEach kullanarak yinelemenin FP'den ilham aldığını ve daha çok Java'ya daha fazla FP getirmenin sonucundan kaynaklandığını söyleyeceğim (ironik olarak, saf FP'de forEach için çok fazla kullanım olmadığını söyleyebilirim, çünkü tanıtmaktan başka bir şey yapmaz yan etkiler).
Sonunda bunun şu anda yazdığınız bir tat \ stil \ paradigma meselesi olduğunu söyleyebilirim.
Paralellik hakkında.
Performans açısından bakıldığında Iterable.forEach üzerinden foreach (...) kullanmanın vaat edilen kayda değer bir faydası yoktur.
Iterable.forEach'taki resmi belgelere göre :
Yinelenebilir içerikler üzerinde verilen eylemi, tüm öğeler işleninceye veya eylem bir istisna atana kadar, yineleme sırasında oluşan sipariş öğelerinde gerçekleşir .
... yani örtük paralellik olmayacağına dair dokümanlar oldukça açık. Birini eklemek LSP ihlali olacaktır.
Şimdi, Java 8'de vaat edilen "parallell koleksiyonları" var, ancak bunlarla çalışmak için bana daha açık olmanız ve bunları kullanmak için biraz daha dikkatli olmanız gerekiyor (örneğin, mschenk74'ün cevabına bakın).
BTW: bu durumda Stream.forEach kullanılacaktır ve gerçek çalışmanın paralel olarak yapılacağını garanti etmez (altta yatan koleksiyona bağlıdır).
GÜNCELLEME: Bir bakışta o kadar açık ve biraz gergin olmayabilir, ancak stil ve okunabilirlik perspektifinin başka bir yönü var.
Her şeyden önce - sade eski forloops düz ve eskidir. Herkes zaten biliyor.
İkincisi ve daha da önemlisi - muhtemelen Yinelenebilir kullanmak istiyorsunuz. Forher one for liner lambdas. Eğer "beden" ağırlaşırsa - okunabilir olma eğilimindedirler. Buradan 2 seçeneğiniz var - iç sınıflar (yuck) kullanın veya düz eski forloop kullanın. İnsanlar genellikle aynı kod tabanında çeşitli vays / stiller yaptıklarını (koleksiyonlar üzerinde iteratinler) gördüklerinde sıkılırlar ve durum böyle görünmektedir.
Yine, bu bir sorun olabilir veya olmayabilir. Kod üzerinde çalışan kişilere bağlıdır.