Maison >Java >javaDidacticiel >Comment utiliser la fonction Predicate pour les opérations d'assertion en Java

Comment utiliser la fonction Predicate pour les opérations d'assertion en Java

PHPz
PHPzoriginal
2023-06-26 18:08:081362parcourir

En tant que langage de programmation largement utilisé, Java fournit de nombreuses API et classes d'outils pratiques, notamment des fonctions Predicate. La fonction Predicate est une interface fonctionnelle permettant de tester si un paramètre donné répond à une condition spécifique. En Java, vous pouvez utiliser la fonction Predicate pour effectuer des opérations d'assertion telles que le filtrage et le tri des collections de données, ce qui facilite le traitement des données.

Dans cet article, nous examinerons en profondeur comment utiliser la fonction Predicate pour les opérations d'assertion en Java.

  1. Introduction à la fonction Predicate

En Java, Predicate est une interface fonctionnelle qui renvoie un type booléen. Il contient une méthode abstraite test(T t), qui reçoit un paramètre t et renvoie une valeur booléenne basée sur des conditions spécifiques. Habituellement, la fonction Predicate peut être utilisée pour déterminer si les données données répondent à une certaine condition, afin que nous puissions filtrer les données.

Voici la définition de la fonction Predicate :

@FunctionalInterface
public interface Predicate<T> {
   boolean test(T t);
}
  1. Applications de la fonction Predicate

En Java, la fonction Predicate est largement utilisée. Nous pouvons utiliser la fonction Predicate pour effectuer des opérations d'assertion sur des collections de données afin de mettre en œuvre le filtrage, le tri et d'autres opérations de données.

Maintenant, supposons que nous ayons une collection List contenant plusieurs entiers. Nous souhaitons filtrer cette collection pour ne conserver que les éléments supérieurs à 10 et les imprimer.

Nous pouvons utiliser des expressions Lambda et des fonctions Predicate dans Java 8 pour réaliser cette fonction, comme indiqué ci-dessous :

List<Integer> list = new ArrayList<>();
list.add(5);
list.add(10);
list.add(15);
list.add(20);

// 使用Lambda表达式和Predicate函数过滤数据
list.stream().filter(x -> x > 10).forEach(System.out::println);

Dans le code ci-dessus, nous utilisons des expressions Lambda et des fonctions Predicate pour filtrer les données. En appelant la méthode stream(), nous pouvons convertir la collection List en Stream et utiliser la méthode filter() pour filtrer les éléments. Ici, nous utilisons une expression Lambda x -> x > 10 pour représenter la fonction Predicate. Il prend un entier x et renvoie une valeur booléenne si x > 10.

Enfin, nous utilisons la méthode forEach() pour imprimer les éléments filtrés. En exécutant le code ci-dessus, nous pouvons voir les résultats suivants :

15
20

Comme le montrent les résultats ci-dessus, nous avons utilisé avec succès la fonction Predicate pour effectuer des opérations d'assertion sur la collecte de données et implémenté la fonction de filtrage des données.

  1. Composition des fonctions Prédicat

En plus des opérations d'assertion de base, la fonction Prédicat prend également en charge les opérations composées. La fonction Predicate en Java prend en charge des méthodes telles que and(), or() et negate(), qui peuvent être utilisées pour combiner plusieurs fonctions Predicate afin de réaliser des opérations d'assertion plus complexes.

Par exemple, nous pouvons utiliser la méthode and() pour connecter deux fonctions Predicate afin de créer un prédicat combiné (prédicat) afin d'obtenir un filtrage multiple des données.

L'exemple suivant montre comment utiliser la méthode and() pour connecter deux fonctions Predicate afin de filtrer les éléments supérieurs à 10 et inférieurs à 20 dans l'ensemble :

List<Integer> list = new ArrayList<>();
list.add(5);
list.add(10);
list.add(15);
list.add(20);

Predicate<Integer> greaterThanTen = x -> x > 10;
Predicate<Integer> lessThanTwenty = x -> x < 20;

// 连接两个Predicate函数,过滤数据
list.stream().filter(greaterThanTen.and(lessThanTwenty)).forEach(System.out::println);

Dans l'exemple ci-dessus, nous définissons d'abord deux fonctions Predicate GreaterThanTen et lessThanTwenty, qui représentent des conditions supérieures à 10 et inférieures à 20 respectivement. Ensuite, nous utilisons la méthode and() pour connecter les deux fonctions Predicate afin de créer une nouvelle fonction Predicate. Cette fonction reçoit un entier x et renvoie une valeur booléenne basée sur les conditions x > 10 et x <

Enfin, nous avons utilisé la méthode filter() pour filtrer la collection List, et la méthode forEach() pour imprimer les éléments filtrés. En exécutant le code ci-dessus, nous pouvons voir les résultats suivants :

15

Comme le montrent les résultats ci-dessus, nous avons utilisé avec succès la méthode and() pour connecter les deux fonctions Predicate et implémenté plusieurs fonctions de filtrage pour les données.

  1. Résumé

En Java, la fonction Predicate est une interface fonctionnelle très pratique. Il peut être utilisé pour effectuer des opérations d'assertion sur des collections de données, nous permettant de mettre en œuvre des opérations de filtrage, de tri et d'autres opérations. Dans le même temps, la fonction Predicate prend également en charge les opérations composées, qui peuvent être utilisées pour combiner plusieurs fonctions Predicate afin d'implémenter des opérations d'assertion plus complexes.

En général, la fonction Predicate est une partie importante des fonctionnalités de programmation fonctionnelle de Java 8, et elle mérite notre étude minutieuse et notre application dans le travail de développement quotidien.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn