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);