消費型接口Consumer
- 消費型接口
- 接收一個輸入,沒有返回值
在stream流計算中 forEach() 接收一個消費型接口Consumer用于 遍歷元素
/*** 消費型接口* 接收一個輸入,沒有返回值*/
public class demo01 {public static void main(String[] args) {//TODO 消費型接口,接收一個輸入,沒有返回值Consumer<String> consumer = new Consumer<String>() {@Overridepublic void accept(String str) {System.out.println(str);}};consumer.accept("dsada");//TODO 在流計算中 forEach() 接收一個消費型接口Consumer用于 遍歷元素ArrayList<String> list = new ArrayList<>();list.stream().forEach(consumer);//lambda表達式Consumer<String> consumer1 = (str)->{System.out.println(str+"====");};consumer1.accept("dsadsa");}
}
函數形接口Function
- 函數形接口
- 接收一個類型的參數,返回一個類型的參數
在stream流計算的 map()方法中,map() 方法接收一個 Function 接口用于類型映射
/*** 函數形接口* 接收一個類型的參數,返回一個類型的參數*/
public class demo01 {public static void main(String[] args) {// 匿名內部類,// Function接口//TODO 兩個泛型 接收一個類型的參數,返回一個類型的參數Function<String, String> function = new Function<String, String>() {@Overridepublic String apply(String str) {return str;}};//TODO 在流計算的 map()方法中,map() 方法接收一個 Function 接口用于類型映射ArrayList<String> list = new ArrayList<>();list.stream().map(function);System.out.println(function.apply("dsad"));//lambda表達式Function<String, String> function2 = (str)->{ return str;};System.out.println(function2.apply("dsad"));}
}
斷定型接口Predicate
- 斷定型接口
- 接收一個輸入參數,返回一個布爾值
在stream流計算中 filter() 接收一個斷定型接口Predicate用于過濾元素
/*** 斷定型接口* 接收一個輸入參數,返回一個布爾值*/
public class demo01 {public static void main(String[] args) {// TODO 斷定型接口 接收一個輸入參數,返回一個布爾值Predicate<String> StringPredicate = new Predicate<String>() {@Overridepublic boolean test(String str) {return str.isEmpty();}};//TODO 在流計算中 filter() 接收一個斷定型接口Predicate用于過濾元素ArrayList<String> list = new ArrayList<>();list.stream().filter(StringPredicate);System.out.println(StringPredicate.test(""));}
}
供給型接口Supplier
- 供給型接口
- 沒有參數,只有返回值
/*** 供給型接口* 沒有參數,只有返回值*/
public class demo01 {public static void main(String[] args) {//TODO 沒有參數,只有返回值Supplier<String> supplier = new Supplier<String>() {@Overridepublic String get() {return "1024";}};System.out.println(supplier.get());//lambda表達式Supplier<String> supplier1 = () -> "1024";System.out.println(supplier1.get());}
}