0Pricing
Java Academy · Ders

Predicate ve Birleştirme

Mantıksal sınamaları birleştirin

Predicate ve Birleştirme, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.

Predicate Ne Yapar

Predicate<T> bir değer alır ve boolean döndürür.

  • Yöntemi boolean test(T t) şeklindedir.
  • Bir evet/hayır koşulunu modeller.
import java.util.function.Predicate;

public class Main {
    public static void main(String[] args) {
        Predicate<Integer> isEven = n -> n % 2 == 0;
        System.out.println(isEven.test(4));
        System.out.println(isEven.test(5));
    }
}

filter İçinde Predicate

Stream.filter bir Predicate alır ve yalnızca koşulu karşılayan öğeleri tutar.

import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<Integer> nums = List.of(1, 2, 3, 4, 5, 6);
        List<Integer> evens = nums.stream()
            .filter(n -> n % 2 == 0)
            .collect(Collectors.toList());
        System.out.println(evens);
    }
}

and ile Birleştirme

and, yalnızca her iki koşul da sağlandığında doğru olan bir koşul oluşturur.

import java.util.function.Predicate;

public class Main {
    public static void main(String[] args) {
        Predicate<Integer> positive = n -> n > 0;
        Predicate<Integer> even = n -> n % 2 == 0;
        Predicate<Integer> both = positive.and(even);
        System.out.println(both.test(4));
        System.out.println(both.test(-2));
    }
}

or ile Birleştirme

or, en az bir koşul sağlandığında doğru döndürür.

import java.util.function.Predicate;

public class Main {
    public static void main(String[] args) {
        Predicate<String> empty = String::isEmpty;
        Predicate<String> shortStr = s -> s.length() < 3;
        Predicate<String> either = empty.or(shortStr);
        System.out.println(either.test(""));
        System.out.println(either.test("hi"));
        System.out.println(either.test("hello"));
    }
}

negate ile Olumsuzlama

negate, bir koşulun sonucunu tersine çevirerek mantıksal NOT işlemini sağlar.

import java.util.function.Predicate;

public class Main {
    public static void main(String[] args) {
        Predicate<Integer> even = n -> n % 2 == 0;
        Predicate<Integer> odd = even.negate();
        System.out.println(odd.test(3));
    }
}

Predicate.not Statik Yardımcısı

Predicate.not(p), özellikle yöntem referanslarıyla birlikte okunabilir bir statik olumsuzlama yöntemidir.

import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> words = List.of("", "a", "", "bc");
        List<String> nonEmpty = words.stream()
            .filter(Predicate.not(String::isEmpty))
            .collect(Collectors.toList());
        System.out.println(nonEmpty);
    }
}

Predicate.isEqual

Predicate.isEqual(target), Objects.equals kullanarak sabit bir değerle eşitliği sınayan bir koşul oluşturur.

import java.util.function.Predicate;

public class Main {
    public static void main(String[] args) {
        Predicate<String> isJava = Predicate.isEqual("java");
        System.out.println(isJava.test("java"));
        System.out.println(isJava.test("python"));
    }
}

Birden Çok Koşulu Zincirleme

Zengin kuralları ifade etmek için and, or ve negate işlemlerini zincirleyebilirsiniz. Gruplandırmayı denetlemek için parantez kullanınız.

import java.util.function.Predicate;

public class Main {
    public static void main(String[] args) {
        Predicate<Integer> big = n -> n > 100;
        Predicate<Integer> even = n -> n % 2 == 0;
        Predicate<Integer> rule = big.and(even).or(n -> n == 0);
        System.out.println(rule.test(0));
        System.out.println(rule.test(102));
        System.out.println(rule.test(101));
    }
}

İki Girdi için BiPredicate

BiPredicate<T, U> iki bağımsız değişkeni sınar ve ayrıca and, or ve negate işlemlerini destekler.

import java.util.function.BiPredicate;

public class Main {
    public static void main(String[] args) {
        BiPredicate<String, Integer> hasLength = (s, n) -> s.length() == n;
        System.out.println(hasLength.test("hello", 5));
    }
}

anyMatch İçinde Predicateler

anyMatch, allMatch ve noneMatch gibi akış sonlandırma işlemlerinin tümü bir Predicate alır.

import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Integer> nums = List.of(1, 3, 5, 8);
        System.out.println(nums.stream().anyMatch(n -> n % 2 == 0));
        System.out.println(nums.stream().allMatch(n -> n > 0));
    }
}

Yeniden Kullanılabilir Predicate Sabitleri

Koşulları adlandırılmış değişkenler olarak tanımlamak, filtreleme işlem hatlarını kendi kendini açıklayan ve yeniden kullanılabilir hâle getirir.

import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        Predicate<String> nonBlank = s -> !s.isBlank();
        List<String> input = List.of("a", " ", "", "b");
        System.out.println(input.stream().filter(nonBlank).collect(Collectors.toList()));
    }
}

Hızlı Kontrol

p.and(q) ne üretir?

Özet

Mantıksal sınamalar oluşturdunuz:

  • Predicate<T>, bir boolean döndürmek için test kullanır.
  • and, or ve negate, koşulları kısa devre değerlendirmesiyle birleştirir.
  • Predicate.not ve Predicate.isEqual, kullanışlı statik yardımcılardır.
  • BiPredicate iki girdiyi sınar.

Sıkça Sorulan Sorular

“Predicate ve Birleştirme” dersi ücretsiz mi?

Evet — “Predicate ve Birleştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.

“Predicate ve Birleştirme” dersinde ne öğreneceğim?

Mantıksal sınamaları birleştirin Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Java Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Predicate ve Birleştirme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Function ve BiFunction
  2. Supplier ve Consumer
  3. Predicate ve Birleştirme
  4. Özel İşlevsel Arayüzler
← Java Academy Sayfasına Dön