当前位置:网站首页>Learn about common functional interfaces

Learn about common functional interfaces

2022-06-26 16:13:00 Gentleman jiejie

Predicate

brief introduction

This functional interface is mainly used to judge the operation , There is a main abstract method and some default methods inside , as follows :
 Insert picture description here

Sample code

package org.example.basicskills.functionalinterface;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;

public class PredicateDemo {
    

    public static List<String> test(List<String> list, Predicate<String> predicate) {
    
        List<String> list2 = new ArrayList<>();
        for (String s : list) {
    
            if (predicate.test(s)) {
    
                list2.add(s);
            }
        }
        return list2;
    }

    // Will output the result 2
    public static void main(String[] args) {
    
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        List<String> result = test(list, (s) -> s.equals("2"));
        result.forEach(item -> System.out.println(item));
    }
}

Consumer

brief introduction

This functional interface is mainly used to obtain data , Its internal methods are defined as follows :
 Insert picture description here

Sample code

package org.example.basicskills.functionalinterface;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;

public class ConsumerDemo {
    

    public static void test(List<String> list, Consumer<String> consumer) {
    
        List<String> list2 = new ArrayList<>();
        for (String s : list) {
    
            consumer.accept(s);
        }
    }

    // The number is 1
    // The number is 2
    public static void main(String[] args) {
    
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        test(list, (s) -> System.out.println(" The number is " + s));
    }
}

Function

brief introduction

This functional interface is mainly used for data type conversion , The method is defined as follows :

 Insert picture description here

Sample code

package org.example.basicskills.functionalinterface;


import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;

public class FunctionDemo {
    
    public static List<Integer> test(List<String> list, Function<String, Integer> function) {
    
        List<Integer> list2 = new ArrayList<>();
        for (String s : list) {
    
            Integer result = function.apply(s);
            list2.add(result);
        }
        return list2;
    }

    //true
    //true
    public static void main(String[] args) {
    
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        List<Integer> list2 = test(list, (s) -> Integer.parseInt(s));
        list2.forEach(s -> System.out.println(s instanceof Integer));
    }
}

Supplier

brief introduction

This functional interface is mainly used to obtain values , But and Consumer The difference is ,Consumer There are parameters without return value ,Supplier
No input parameter with return value , The method is defined as follows :
 Insert picture description here

Sample code

package org.example.basicskills.functionalinterface;


import java.util.ArrayList;
import java.util.List;
import java.util.function.Supplier;

public class SupplierDemo {
    

    public static String test(List<String> list, Supplier<String> supplier) {
    
        return supplier.get();
    }

    // return 2
    public static void main(String[] args) {
    
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        String result = test(list, () -> {
    
            return list.get(1);
        });
        System.out.println(result);
    }
}
原网站

版权声明
本文为[Gentleman jiejie]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/177/202206261557191025.html