AllMatch, AnyMatch ve NoneMatch Kullanımı

Java 8 ile gelen özelliklerden biri de Stream API dır. Bir listeyi stream haline getirdikten sonra liste üzerinde birçok işlemi kolayca yapabiliriz. Biz bunlardan allMatch, anyMatch ve noneMatch metotlarını inceleyeceğiz.

AnyMatch, AllMatch ve NoneMatch metotları parametre olarak Predicate nesnesi alır. Predicate nesnesi de Java 8 ile gelen özelliklerden biridir. Eğer Predicate nesnesinin kullanımı hakkında bilginiz yoksa Predicate ile ilgili yazımı okumanızı öneririm. https://medium.com/@metinalniacik/javada-predicate-functional-interface-bb502cc864a9

AnyMatch
Parametre olarak verdiğimiz koşul, listedeki en az bir kayıt ile koşulu sağlıyor ise sonuç true olacaktır.

AllMatch
Parametre olarak verdiğimiz koşul, listedeki tüm kayıtlar ile koşulu sağlıyor ise sonuç true olacaktır.

NoneMatch
Parametre olarak verdiğimiz koşul, listedeki hiçbir kayıt ile koşulu sağlamıyor ise sonuç true olacaktır.

Şimdi, aşağıda verilmiş örneği inceleyelim.

Program çalıştırıldığında, konsol çıktısı aşağıdaki gibidir.

  • 7. satırda, örnek bir isim listesi oluşturuyoruz.
  • 8. satırda, elimizde array i stream e çeviriyoruz.
  • 10. satırdaki işlemin sonucu true dönecektir. names listesinin ikinci kaydın değeri “yusuf”tur. İşlemin sonucu konsoldaki 1. satırda görüntülenmektedir.
  • 13. satırdaki işlemin sonucu false dönecektir. names listesinin tüm kayıtlarının değeri “yusuf” olmadığından dolayı sonuç false olacaktır.
  • 16. satırda allMatch metodu için bir örnek daha mevcuttur. names listesindeki her eleman “m”, “d” ve “y” değerlerinden biri ile başladığından dolayı listedeki tüm kayıtlar için koşul sağlanmaktadır. Bundan dolayı sonuç true olacaktır.
  • 19. satırdaki işlemin sonucu true olacaktır. names listesinde “ali” değerine sahip bir kayıt mevcut değildir.
  • 22. satırdaki işlemin sonucu ise false dönecektir. names listesinde “yusuf” değerine sahip bir kayıt mevcuttur.