zoukankan      html  css  js  c++  java
  • java8的4大核心函数式接口

    //java8的4大核心函数式接口
    //1.Consumer<T>:消费性接口
    //需求:
    public void happy(double money, Consumer<Double> consumer){
    consumer.accept(money);
    }
    @Test
    public void test(){
    happy(1000,(e)-> System.out.println("happy消费了"+ e +"元"));
    }
    //2.Supplier<T> 供给型接口
    //T get();
    //需求:产生一定数量整数,并放进集合中
    public List<Integer> getList(int size, Supplier<Integer> supplier){
    List<Integer> list = new ArrayList<>();
    for (int i = 0; i < size; i++) {
    Integer num = supplier.get();
    list.add(num);
    }
    return list;
    }

    @Test
    public void test2(){
    List<Integer> list = getList(10,()->(int)(Math.random()*100));
    for (Integer num :
    list) {
    System.out.println(num);
    }
    }

    //3.函数型接口
    //Function<T,R>
    //R apply<T t>
    //需求:去除首尾空格
    public String strHandler(String str, Function<String,String> fun){
    return fun.apply(str);
    }
    @Test
    public void test3(){
    String strTrim = strHandler(" xsjifcdsnkjfhs ",(e)->e.trim());
    System.out.println(strTrim);
    }
    //4.Predicate 断言型接口
    //boolean test(T t)
    //将满足条件的字符串放进集合
    public List<String> getNewList(List<String> list , Predicate<String> pre){
    List<String> newList = new ArrayList<>();
    for (String str :
    list) {
    if(pre.test(str)){
    newList.add(str);
    }

    }
    return newList;
    }
    @Test
    public void test4(){
    List<String> list = java.util.Arrays.asList("adsj","xjsai","sdjasio","ws");
    List<String> li = getNewList(list,(s)->s.length()>3);
    for (String str :
    li) {
    System.out.println(str);
    }

    }
  • 相关阅读:
    自娱自乐
    项目冲刺(2)-第二、第三天
    项目冲刺(2)-第一天
    Beta版本冲刺计划及安排
    第一章 构造过程抽象
    python 学习2
    python 学习1
    ionic 初入门
    NodeJS学习
    软件工程实践总结作业——个人作业
  • 原文地址:https://www.cnblogs.com/yunqing/p/9221117.html
Copyright © 2011-2022 走看看