Java Stream API: Röportaja Hazır Kod Örnekleri
Merhaba! Ben Fatih Soysal ve bugün Java Stream API’si ile ilgili röportajlarda sıkça karşılaşılan sorulara yönelik kod örneklerini ele alacağız. Java 8 ile birlikte gelen Stream API, koleksiyonları işlemek için güçlü ve okunabilir bir yol sunar. Bu yazıda, farklı senaryolara uygun kod parçacıklarını inceleyerek, Stream API’nin gücünü ve kullanımını daha iyi anlayacaksınız. Örnekleri anlamak için temel Java bilgisi yeterli olacaktır. Ancak, daha derinlemesine bilgi edinmek isterseniz, web sitemi ziyaret edebilirsiniz.
Liste Elemanlarını Filtreleme
Örneğin, bir listedeki tüm çift sayıları filtrelemek istediğinizi varsayalım. Stream API ile bu işlem oldukça kolaydır:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
Bu kod, numbers listesini alır, her bir elemanı filter metodu ile kontrol eder ve çift sayıları yeni bir liste olan evenNumbers içine toplar. filter metodu, bir predicate (koşul) alır ve bu koşulu sağlayan elemanları geçer.
Liste Elemanlarını Dönüştürme (Mapping)
Şimdi de, bir listedeki sayıların karesini alan bir örnek inceleyelim. Bunun için map metodunu kullanacağız:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> squaredNumbers = numbers.stream()
.map(n -> n * n)
.collect(Collectors.toList());
Bu kod, numbers listesinin her bir elemanını karesini alarak yeni bir liste olan squaredNumbers’a dönüştürür. map metodu, her bir elemana uygulanacak bir fonksiyon alır ve dönüştürülmüş elemanları döndürür. Sonuç olarak, her bir sayının karesi hesaplanmış olur.
Liste Elemanlarını Toplama (Reduce)
Bir listenin elemanlarını toplamak için reduce metodu kullanılabilir. Bu metot, bir başlangıç değeri ve bir işlem fonksiyonu alır ve liste elemanlarını sırayla bu fonksiyonu uygulayarak tek bir değere indirger.
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
.reduce(0, (a, b) -> a + b);
Bu kod, numbers listesinin elemanlarının toplamını hesaplar. reduce metodu, başlangıç değeri 0’ı ve iki sayıyı toplayan bir fonksiyonu alır. Sonuç olarak, sum değişkeni listenin toplamını tutar.
Diğer Önemli İşlemler
Stream API, filtreleme, haritalama ve azaltma gibi işlemlerin yanı sıra, sorted, distinct, limit, skip gibi birçok yararlı metot daha sunar. Bu metotlar, verileri işlemek ve istenen sonuçları elde etmek için çok yönlü bir şekilde kullanılabilir. Örneğin, sorted metodu ile bir listeyi sıralayabilir, distinct metodu ile tekrar eden elemanları kaldırabilir, limit metodu ile belirli sayıda elemanı alabilirsiniz. Bu fonksiyonların birleştirilmesiyle oldukça karmaşık işlemler bile kolayca gerçekleştirilebilir.
Umarım bu örnekler, Java Stream API’sini daha iyi anlamanıza yardımcı olmuştur. Daha fazla bilgi ve örnek için web sitemi ziyaret edebilirsiniz. Röportajlara hazırlanmanızda faydalı olacağını umuyorum!
#Etiketler
Java, Stream API, Java 8, Java Röportaj, Kod Örnekleri, Koleksiyonlar, Akışlar, Filtreleme, Haritalama, Azaltma, Toplama, Java Örnekleri, Programlama, Yazılım Geliştirme
