Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Etkinliklerim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • JSP
  • Java 21
  • Java 8
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Java SE

Java 8 Stream API Nedir? Kullanım Örneği

Paylaş

Java 8 ile gelen ve oldukça sık kullanılan Stream API özelliğini örnekler vererek açıklamaya çalışacağım. Stream API ile yığınsal veriler üzerinde kolayca işlemlerimizi yapabilme özelliği gelmiştir. Yığınsal veriden kastettiğim Collectionlar, diziler vs… dir.

Elimizde bir dizi var o dizi içerisinden bazı verileri kriterlere göre bulmamız ayırmamız istendiğinde hemen bir döngü içerisine koyup geçici ayrı bir liste oluşturup karşılaştırma işlemlerini yapmışsınızdır muhakkak. Bu ve bunun gibi bir çok işlemi tek ya da 2 satırda halledebilmekteyiz.

Kısa kısa örnekler üzerinde Stream API sayesinde gelen özelliklere bakalım.

  • Dizi içerisindeki verileri döngüye alarak işlem yaptırmak çok basit.
Arrays.asList("burak","kutbay","java").stream().forEach(System.out::println);
//burak
//kutbay
//java
  • Sıralama işlemlerini yapabiliriz. Sıralama işlemlerini yapmak için yine Java 8 ile gelen Lambda Expressions özelliklerinden yararlanıyoruz. (Lambda expressions bloga yazılacak)
List result = list.stream().sorted((o1, o2)->o1.getItem().getValue(). compareTo(o2.getItem().getValue())). collect(Collectors.toList());
  • Filtreleme işlemleri yapabilmekteyiz. Bu sayede dizi içerisindeki verileri belirlediğimiz kriterlere göre basitçe ayırabiliyoruz.
List<String> degerler = Arrays.asList("burak", "kutbay", "java");

List<String> sonuc= degerler.stream()                
                .filter(degerler-> !"java".equals(degerler))     
                .collect(Collectors.toList());

sonuc.stream(forEach)(System.out::print)) //burakkutbay

Yukarıda yaptığımız işlem “java” değerini ayırıp diğer değerleri başka bir diziye kaydettik.

  • Filtre kullanımına başka bir örnek verelim. Personel listesinden adı B ile başlayan 5 adet kişiyi alalım. Filter ile kolayca yapabilmekteyiz.
List<String> secilenpersonel = personel.stream()
                            .map(Personel::getAd)
                            .filter(ad->ad.startsWith("B"))
                            .limit(5)
                            .collect(Collectors.toList());
  • Hesaplama işlemi de yaptırabiliriz. Map içerisindeki elemanlara karşılık gelen ilgili değerleri işlemler yaptırabilir ve sıralayabiliriz.
List<Integer> sayi= Arrays.asList(5,2,7,1);

List<Integer> toplananSayi= sayi.stream().map( i -> i+2).distinct().collect(Collectors.toList());
  • Filtre işlemlerinde gördüğümüz limit belirleme özelliğine bakalım.
Random random = new Random();
random.ints().limit(5).forEach(System.out::println);

Tags:

java 8java 8 örnekjava stream nedirstream kütüphanesistream örneği

Paylaş

Diğer Yazılar

blank
Previous

Design Patterns – Builder Pattern Nedir?

Spring Dersleri
Next

Spring Boot Developer Tools Nedir ve Kullanımı

Next
Spring Dersleri
26 Mayıs 2018

Spring Boot Developer Tools Nedir ve Kullanımı

Previews
31 Mart 2018

Design Patterns – Builder Pattern Nedir?

blank

One Comment

  1. Yusuf dedi ki:
    19 Nisan 2021, 14:40

    Elinize sağlık, giriş için güzel bilgiler yer alıyor. 🙂

    Yanıtla

Bir yanıt yazın Yanıtı iptal et

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

İlgini Çekebilir

Java 8 ile birlikte gelen Functional Interface özelliği Kullanım, Örnekler, Consumer, Predicate, Function, Supplier

Java Functional Interface Nedir?

javb

Java 8 Dersleri – StringJoiner Nedir? Uygulama Örneği

javb

Java 8 – Default Methods Nedir? Kullanım Örneği

javb

Java 8 Lambda Expressions Nedir? Lambda İfadeleri Kullanım Örnekleri

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Node.js
Java 24
Android
Struts
Röportaj
Gradle
Amazon Web Services
Vue.js
Video
Redis
Spring Boot 3.0
Debezium
Mikroservis Mimarisi
Spring Native
Spring Cloud Stream
Etkinlikler
XCode
JPA
Objective C
iPhone Uygulama Geliştirme
PostgreSQL
Spring Security
MongoDB
Java 21
Spring Data
Apache Kafka
Yaptığım Projeler
Servlet
Git
Maven
Design Patterns
DevOps
Linux
Spring Jdbc Template
RabbitMQ
JDBC
PrimeFaces
Manset
Google
Spring
Spring MVC
Spring Cloud
OCA Java SE 8
Quarkus
Spring Core
Microsoft
Veritabanı
Java SE
Tanıyalım
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Etkinliklerim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • JSP
  • Java 21
  • Java 8
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale