java8内置四大函数
来源:互联网 发布:夏达姚非拉事件 知乎 编辑:程序博客网 时间:2024/06/03 21:06
java8内置四大函数
为了免去用户每次使用Lambda表达式时,都自行创建函数式接口,Java提供了4大核心内置函数式接口
* Consumer<T> :消费型接口
* void accept(T t);
*
*Supplier<T> :供给型接口
* T get();
*
*Function<T,R> :函数型接口
* R apply(T t);
*
*Predicate<T> :断言型接口
import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.function.Consumer;import java.util.function.Function;import java.util.function.Predicate;import java.util.function.Supplier;public class Jdk_Interface_Test {public static void main(String[] args){test2();}//Consumer<T> 消费型接口:void accept(T t);public static void test1(){ happy(1000,(m) ->System.out.println("喜欢大宝剑,消费:"+m+"元"));}public static void happy(double money,Consumer<Double> con){ con.accept(money);//传入一个money,没有返回值,直接消费} //Supplier<T> 供给型接口: 需求:产生指定个数的整数,并放入集合中: T get(); private static void test2(){ List<Integer> numList=getNumList(3, ()->(int)(Math.random()*100)); for (Integer num : numList) { System.out.println(num); } } private static List<Integer> getNumList(int num,Supplier<Integer> sup){ List<Integer> list=new ArrayList<>(); for (int i = 0; i < num; i++) { Integer n = sup.get();//n为返回值,返回一个整数,以上来说,就是返回一个随机数,添加到list,然后遍历list list.add(n); } return list; } //Function<T,R> 函数型接口:R apply(T t); private static void test3(){ String newStr = strHandler("\t\t\t 啦啦啦德玛西亚 ", (str)->str.trim()); System.out.println(newStr); String subStr = strHandler("无与伦比,为杰沉沦", (str)->str.substring(5,9)); System.out.println(subStr); } private static String strHandler(String str,Function<String,String> fun){ return fun.apply(str);//传入一个字符串,有返回值。 } //Predicate<T> 断言型接口: boolean test(T t); private static void test4(){ List<String> list=Arrays.asList("Hello","jj","Lambda","www","ok"); List<String> strList = filterStr(list, s->s.startsWith("L")); List<String> list2=filterStr(list, new Predicate<String>() {@Overridepublic boolean test(String t) {// TODO 自动生成的方法存根return t.length()>3;//((String)t).length()>3;}}); for (String string : strList) { System.out.println(string); } } //需求:将满足条件的字符串,放入集合中 private static List<String> filterStr(List<String> list,Predicate<String> pre){ List<String> strList = new ArrayList<>(); for ( String str : list) { if(pre.test(str)){ strList.add(str); } } return strList; }}
其他接口:
阅读全文
0 0
- java8内置四大函数
- Java8中内置的四大核心函数式接口
- Java8新特性_四大内置核心函数式接口
- java8内置函数式接口
- Java8内置函数式接口
- Java8的四大核心函数式接口
- Java8的四大核心函数式接口
- java8的内置函数式接口总结
- 四大内置核心函数式接口
- 开始Java8之旅(四) --四大函数接口
- Java8新特性(内置的核心函数式接口)
- Java8内置4大函数式接口详解
- jsp四大内置对象
- 四大内置对象
- 内置函数
- 内置函数
- 内置函数
- 内置函数
- 在线浏览pdf文件实现
- 02.Spring IOC源码深度解析之容器的基本实现
- SpringSecurity | spring security oauth2.0 配置源码分析(一)
- CALayer2-创建新的层
- Dubbo: Failed to check the status of the service . No provider available for the service
- java8内置四大函数
- 机器学习sklearn—数据的特征预处理
- 搭建solr环境
- BIRCH算法
- python-数据处理-删除dataframe中的列
- 随机生成图片验证码
- CALayer3-层的属性
- 数据
- JS调用google DEMO朗读