Takip et

Java Stream’lerde forEach ve map Arasındaki Fark

Java Stream’lerde forEach ve map Arasındaki Fark

Java 8 ile gelen Stream API, koleksiyonlar üzerinde daha akıcı ve verimli işlemler yapmamızı sağlayan güçlü bir araçtır. Stream API, koleksiyonlar üzerinde çeşitli işlemler gerçekleştirmek için farklı yöntemler sunar. Bu yöntemlerden ikisi, forEach ve map, sıklıkla kullanılır. Ancak, her iki yöntem de farklı amaçlar için tasarlanmıştır ve aralarında önemli farklar vardır.

forEach Yöntemi

forEach yöntemi, bir Stream’in her bir elemanını sırayla işleyen bir tüketici işlevi alır. Bu yöntem, Stream’in her elemanını işlemden geçirmek ve yan etkiler üretmek için kullanılır. Yan etkiler, bir fonksiyonun çalıştırıldığı ortamda değişiklikler yapması anlamına gelir. Örneğin, bir Stream’in elemanlarını konsola yazdırmak veya bir dosyaya kaydetmek, yan etkilerdir.

forEach yöntemi bir değer döndürmez. Bu nedenle, forEach yönteminin sonuçlarını daha sonraki işlemler için kullanamazsınız. Aşağıdaki örnekte, bir Stream’in her bir elemanını konsola yazdıran forEach yöntemi gösterilmiştir.

“`java
List numbers = Arrays.asList(1, 2, 3, 4, 5);

numbers.stream()
.forEach(System.out::println);
“`

map Yöntemi

map yöntemi, bir Stream’in her bir elemanını dönüştüren bir fonksiyon alır. Bu fonksiyon, girdi elemanını alıp farklı bir değere dönüştürür. map yöntemi, Stream’in elemanlarını başka bir türdeki elemanlara dönüştürmek veya yeni elemanlar oluşturmak için kullanılır. map yöntemi, dönüştürülen elemanları içeren yeni bir Stream döndürür.

Aşağıdaki örnekte, bir Stream’in her bir elemanını karesiyle değiştiren map yöntemi gösterilmiştir.

“`java
List numbers = Arrays.asList(1, 2, 3, 4, 5);

List squaredNumbers = numbers.stream()
.map(n -> n * n)
.collect(Collectors.toList());
“`

forEach ve map Arasındaki Farklar

| Özellik | forEach | map |
|—|—|—|
| Amaç | Her elemanı işleyerek yan etkiler üretmek | Elemanları farklı türdeki elemanlara dönüştürmek |
| Dönüş değeri | Yok | Yeni bir Stream |
| Kullanım örnekleri | Konsola yazdırma, dosyaya kaydetme | Elemanları karesiyle değiştirme, String’leri Integer’a dönüştürme |

Özet

forEach ve map, Java Stream API’sinde sıklıkla kullanılan iki önemli yöntemdir. forEach, bir Stream’in her bir elemanını işleyerek yan etkiler üretmek için kullanılırken, map, Stream’in her bir elemanını dönüştürmek için kullanılır. İki yöntemin de kendine özgü kullanım alanları ve amaçları vardır. Doğru yöntemi seçmek, etkili bir şekilde Stream API kullanımı için önemlidir.

Eğer Java ile daha fazla çalışmak ve Stream API’nin gücünü keşfetmek isterseniz, [Fatih Soysal’ın blogunu](https://fatihsoysal.com) ziyaret etmenizi tavsiye ederim.

#Etiketler: forEach, map, Java Stream, Stream API, Java 8, programlama, yazılım geliştirme

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık