DEV Community

Mustafa  Çam
Mustafa Çam

Posted on

Stream API

Java 8 Stream API, işlerimizi kolaylaştıran bir araçtır ve verimli ve temiz uygulamalar oluşturmak için birçok yeni model getirir. Stream API, liste ve dizileri işlemek için işlevsel operasyonlar sağlar. İşte bazı önemli Stream API operasyonları:

  1. Filter (Filtreleme):

    • filter metodu, bir listeyi veya diziyi belirli bir koşula göre kısıtlamamıza olanak tanır. Örneğin, kullanıcı listesindeki bazı kriterlere göre listeyi indirgeyebiliriz:
     List<User> userList = Arrays.asList(user1, user2, user3);
     userList.stream()
             .filter(user -> user.getSurname().contains("a") && user.getAge().equals(65))
             .collect(Collectors.toList())
             .forEach(System.out::println);
    

    Yukarıdaki örnekte, isminde 'a' harfi geçenleri ve yaşı 65 olan kullanıcıları filtreleyerek ekrana yazdırmak istedik.

  2. Sorted (Sıralama):

    • sorted metodu, veri setini belirli parametrelere göre sıralamamıza olanak tanır. Örneğin, kitapların sayfa sayısına göre küçükten büyüğe sıralanışını aşağıdaki gibi yapabiliriz:
     List<Book> bookList = Arrays.asList(book1, book2, book3);
     List<Book> bookSortedListByPage = bookList.stream()
                                               .sorted(Comparator.comparingInt(Book::getPage))
                                               .collect(Collectors.toList());
     System.out.println(bookSortedListByPage);
    

    Burada Comparator.comparingInt(Book::getPage) ile kitapların sayfa sayısına göre sıralama yapacağımızı belirttik.

  3. Map (Dönüşüm):

    • map metodu, stream içerisindeki her bir nesneye özgü işlemler yapmamıza olanak sağlar. Örneğin, rakamların karesini almak için kullanabiliriz:
     List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
     List<Integer> squares = numbers.stream()
                                    .map(n -> n * n)
                                    .collect(Collectors.toList());
     System.out.println(squares);
    

    Yukarıdaki örnekte, her rakamın karesini alarak yeni bir liste oluşturduk.

Java Stream API, veri işlemlerini daha anlaşılır ve temiz bir şekilde ifade etmemize yardımcı olur. Bu operasyonlar, kodunuzu daha okunaklı ve etkili hale getirir. 🚀

Kaynaklar:

Kaynak: Bing ile konuşma, 17.05.2024
(1) Java 8 Stream Api Nedir ? Nasıl Kullanılır ? ( filter, sorted, map .... https://medium.com/@muhammetenesakcayir/java-8-stream-api-32dd3e9aa30f.
(2) Java 8 – Stream API (Filter, Sorted, Map, Match, Reduce). https://www.mobilhanem.com/stream-api-filter-sorted-map-match-reduce/.
(3) java - Stream API - How does sorted () operation works if a filter .... https://stackoverflow.com/questions/72118729/stream-api-how-does-sorted-operation-works-if-a-filter-is-placed-right-aft.
(4) Java 8 - Stream API – KodEdu. https://kodedu.com/2014/10/java-8-stream-api/.
(5) Difference between map and filter on a java collection stream. https://stackoverflow.com/questions/37154380/difference-between-map-and-filter-on-a-java-collection-stream.
(6) github.com. https://github.com/LinZiYU1996/Learning-Java/tree/a0d9f538c9d373c3a93ccd890006ce0e5e1f2d5d/MyNotes%2FJDK_8%2Fchapter_5%2Fc_5_2%2Fc_5_2_2%2FTest_5_2_1.java.

Top comments (0)