Java 8 Stream – min, max Nedir? Nasıl Kullanılır?

Terminate operasyonlardan olan min ve max, kaynak içerisindeki en büyük ve en küçük elemanları döndürmektedir. Burada dikkat edilmesi gerekenlerden birisi Primitive Streamler içerisinde parametre almamaktadır çünkü iki farklı integer değerinden hangisinin büyük olduğuna karar verilebilir.

Nesnelerimizi sakladığımız Stream içerisinde ise Comparator interface’ini parametre olarak almaktadır. Yani min ve max kullanılırken nesnelerin nasıl kıyaslanacağına dair bir bilgi vermemiz gerekmektedir.

Min ve Max Operasyonu direk değişken vermek yerine Optional nesnesi döndürmektedir. Yani Stream kaynağımızda hiç bir verinin bulunmaması durumunda null değer döndürmemesi amaçlı olarak bu yapı kullanılmıştır.

List < String > a = new ArrayList < > ();
a.add("dogukan");
a.add("han");
a.add("onur");
String min = a.stream().min(String::compareTo).get();
int minInt = IntStream.range(0, 20).min().getAsInt();

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir