Bu programda, bir dizinin Java'da belirli bir değer içerip içermediğini kontrol etmeyi öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:
- Java Dizileri
- Java Veri Türleri (İlkel)
Örnek 1: Int Array'in belirli bir değer içerip içermediğini kontrol edin
public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 3; boolean found = false; for (int n : num) ( if (n == toFind) ( found = true; break; ) ) if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )
Çıktı
3 bulunur.
Yukarıdaki programda, num değişkeninde saklanan bir tamsayı dizisine sahibiz. Aynı şekilde, bulunacak numara toFind'da saklanır.
Şimdi, num'un tüm öğelerini yinelemek ve toFind'ın n'ye eşit olup olmadığını tek tek kontrol etmek için her bir döngü için kullanıyoruz.
Cevabınız evet true
ise, döngüyü bulup koparırız. Değilse, bir sonraki yinelemeye geçiyoruz.
Örnek 2: Bir dizinin Stream kullanarak belirli bir değeri içerip içermediğini kontrol edin
import java.util.stream.IntStream; public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 7; boolean found = IntStream.of(num).anyMatch(n -> n == toFind); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )
Çıktı
7 bulunamadı.
Yukarıdaki programında, bir için, her döngü kullanmak yerine, bir diziyi dönüştürmek IntStream
ve kullanma anyMatch()
yöntemi.
anyMatch()
yöntem bir yüklemi, ifadeyi veya boole değeri döndüren bir işlevi alır. Bizim durumumuzda yüklem, akıştaki her n öğesini toFind ile karşılaştırır ve true
veya döndürür false
.
Eğer n elemanından herhangi biri dönerse true
, bulunanlar da olarak ayarlanır true
.
Örnek 3: Bir dizinin ilkel olmayan türler için belirli bir değer içerip içermediğini kontrol edin
import java.util.Arrays; public class Contains ( public static void main(String() args) ( String() strings = ("One", "Two", "Three", "Four", "Five"); String toFind = "Four"; boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind)); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )
Çıktı
Dört bulunur.
Yukarıdaki programda, ilkel olmayan bir veri türü String
kullandık ve ilk önce onu bir akışa dönüştürmek ve dizinin verilen toFind değerini içerip içermediğini kontrol etmek için Arrays
'ın stream()
yöntemini anyMatch()
kullandık.