5.00 / 1 oy

Java'da vektör içinde arama yapmak (Arrays.stream anyMatch)

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ış");

 

utku33

06.02.2020 04:26

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Java'da vektör içinde arama yapmak (Arrays.stream anyMatch)

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.