interface de type de fonction standard java

Une interface fonctionnelle est une interface qui n'a qu'une seule méthode abstraite et qui est utilisée comme destination d'affectation pour les expressions lambda et les références de méthode. J'ai essayé de résumer l'interface fonctionnelle standard

Interface fonctionnelle standard

En tant qu'interface de type de fonction standard, les types de méthode typiques sont définis dans le package java.util.function.

Interface fonctionnelle standard de base

interface Méthode La description
Function <T, R> R apply (T t) Prend un argument de type T et renvoie un résultat de type R
Consumer <T> void accept (T t) Reçoit des arguments de type T et ne renvoie aucun résultat
Predicate <T> boolean test(T t) Prend un argument de type T et renvoie le résultat de la valeur booléenne
Supplier <T> T get() Renvoie un résultat de type T sans argument

Exemple de code

Sample.java


        // Function<T, R>
        //Exemple: renvoie la longueur de chaîne de l'argument
        Function<String, Integer> function = String::length;
        System.out.println(function.apply("12345")); // 5

        // Consumer<T>
        //Exemple: affiche la longueur de chaîne de l'argument
        Consumer<String> consumer = str -> System.out.println(str.length());
        consumer.accept("12345"); // 5

        // Predicate<T>
        //Exemple: dans la chaîne d'argument"foo"Juger si est inclus
        Predicate<String> predicate = str -> Objects.nonNull(str) && str.contains("foo");
        System.out.println(predicate.test("foo bar")); // true

        // Supplier<T>
        //Exemple:"Sample"rends le
        Supplier<String> supplier = () -> "Sample";
        System.out.println(supplier.get()); // Sample

Composition des fonctions

Vous pouvez combiner des interfaces fonctionnelles standard pour créer de nouvelles interfaces fonctionnelles Synthétiser en utilisant compose, ʻandThen (La différence entre compose et ʻandThen est l'ordre de composition) Le système de prédicat peut être synthétisé en utilisant «et», «ou», «negate»

Exemple de code

Sample.java


        //Fonction composition de la fonction
        Function<String, Integer> function1 = String::length;
        Function<Integer, Integer> function2 = i -> i * 100;
        //Lors de l'utilisation de compose
        Function<String, Integer> newFunction1 = function2.compose(function1);
        //Lors de l'utilisation et
        Function<String, Integer> newFunction2 = function1.andThen(function2);
        System.out.println(newFunction1.apply("12345")); // 500
        System.out.println(newFunction2.apply("12345")); // 500

        //Composition de la fonction de prédicat
        Predicate<Integer> predicate1 = i -> i % 2 == 0; //Juger si c'est même
        Predicate<Integer> predicate2 = i -> i >= 100; //Juger si c'est 100 ou plus
        //Déterminez s'il est pair et 100 ou plus
        Predicate<Integer> newPredicate1 = predicate1.and(predicate2);
        //Déterminez si c'est impair et moins de 100(negate()Est un déni logique)
        Predicate<Integer> newPredicate2 = predicate1.negate().and(predicate2.negate());
        System.out.println(newPredicate1.test(100)); // true
        System.out.println(newPredicate2.test(99)); // true

Recommended Posts

interface de type de fonction standard java
[Java] Interface fonctionnelle
À propos de l'interface fonctionnelle Java
[Java] Interface fonctionnelle / expression lambda
java (interface)
interface [java]
À propos de l'interface Java
Introduction de l'interface fonctionnelle
Enregistreur standard Java
Interface [Java]
À propos de l'interface, interface java
Interface appelable en Java
Une note de revue sur l'interface fonctionnelle
Interface d'historique d'apprentissage JAVA
Mémo d'apprentissage Java (interface)
Résumé d'héritage avancé, interface -java
Sous-chaîne de mémo Java (classe standard)
Héritage de l'interface de l'historique d'apprentissage JAVA
Longueur du mémo Java (classe standard)
Essayez le type fonctionnel en Java! ①
Vérifier la méthode privée de l'interface Java9
Lire l'entrée standard en Java
Exemple de sortie de journal standard Java
[Java] Liste des bibliothèques standard dépendant du système d'exploitation
Implémenter un tri rapide de type fonction en Java
Accéder à l'interface réseau avec Java
Java et fonctions principales - au-delà de l'interface fonctionnelle -
Utiliser Microsoft Graph avec Java standard
[Java débutant] À propos de l'abstraction et de l'interface
interface
Cahier d'exercices de programmation de fonctions Java --zipWith-
Introduction à la programmation fonctionnelle (Java, Javascript)
Imiter l'interface fonctionnelle de Java avec Kotlin
[JAVA] Différence entre abstrait et interface
Java
Java, interface pour partir du débutant
Java
Histoire de paiza.jp [solution d'entrée standard Java]
Importance de l'interface apprise de la collection Java
Comprenez l'interface java à votre manière
[Java] Utiliser la technologie cryptographique avec les bibliothèques standard
[Java / Swift] Comparaison de l'interface Java et du protocole Swift
[Java] Colorez la sortie standard vers le terminal
[Java] Contenu de l'interface de collection et de l'interface de liste
Jeu de devinettes de nombres Java (problème de programmation standard)