Java ile kodlama yapıyoruz ve dizi (vektör) içinde tutmakta olduğumuz bir grup veri içerisinde bir değerin olup olmadığını tespit etmemiz gerekiyor. Önce hızlıca içinde String değerler olan bir vektör tanımlayalım ve uzun yoldan bu problemi nasıl çözebileceğimize bir bakalım. Mesela diziyi List'e dönüştürüp List sınıfının contains metodunu kullanabiliriz?
String[] merhaba = new String[]{"m", "e", "r", "h", "a", "b", "a"};
List<String> liste = Arrays.asList(merhaba);
if(liste.contains("a"))
System.out.println("varmış"); //varmış
Ama Java 8'den itibaren bu problemimizi List kullanmadan aşağıdaki gibi çözebilmemiz mümkün.
String[] merhaba = new String[]{"m", "e", "r", "h", "a", "b", "a"};
boolean kontrol = Arrays.stream(merhaba).anyMatch("a"::equals);
if (kontrol)
System.out.println("varmış");
Bu örneği tamsayılardan oluşan bir dizi için deneyecek olursak bu sefer IntStream kullanabiliriz. Long değişkenler olsaydı da LongStream kullanacaktık.
import edilecek
import java.util.stream.IntStream;
Kodlar:
int[] sayilar = {100, 200, 300, 400, 500, 600, 700, 800, 900};
boolean kontrol = IntStream.of(sayilar).anyMatch(x -> x == 100);
if (kontrol)
System.out.println("bu da varmış");