Java 8 Stream – Distinct Nedir? Nasıl Kullanılır?

Posted by dogukanhan on May 31, 2019 · 1 min read

Distinct operatoru kaynağımız içerisindeki tekrar eden verileri silmektedir. Kelime anlamı itibariyle farklı demektir yani tekrar eden elemanlarımızı silerek tekrarları yok etmektedir.

Distinct Stream operasyonu iki farklı şekilde kullanılabilir bunlardan birisi nesneye ait equal metotu kullanır bu yüzden herhangi bir parametreye ihtiyaç duymaz

Bir diğeri ise Predicate alarak nesnemizin özelliğine göre farklı olup olmadığına karar verir. Örnek olarak Öğrenci nesnesinin isminin farklı (distinct) olması gibi.

List < String > isimler = new ArrayList < String > ();
isimler.add("dogukan");
isimler.add("dogukan");
isimler.add("dogukan");
isimler.add("dogukan");
isimler.add("onur");
isimler.stream().distinct().forEach(System.out::println);