JDK内置核心函数式接口

1、Consumer: 消费型接口 有一个可以消费任意数据类型的数据的方法
2、Supplier:供给型接口 有一个可以提供任意数据类型数据的方法
3、Function<T, R>:函数型接口 有一个可以把任意数据转换为其他任意数据类 型的方法
4、Predicate:断言型接口 有一个可以对任意数据进行判断的方法

1 、Consumer 【消费性接口】

void accept(T t):消费使用掉任意的一个数据
作用:当某个方法可以接收一个数据,并且处理这个数据,处理完成之后,不需要返 回任何数据; 这个方法需要当做数据来进行传递,就使用消费型接口。

案例:定义出一个方法功能, 客户预计消费500元现金, 每一个客户对于500元的消费都不同, 将客户的消费方式实现出来
客户1 : 花了500元, 买了一辆车
客户2 : 花了500元, 买了一堆化妆品
客户3 : 花了500元, 买了一双球鞋
还有无限的客户有不同种消费方式

import java.util.function.Consumer;

public class ConsumerExample{
   
//客户需要购物
public static void shopping(double x, Consumer consumer){
   
    consumer.accept(x);
}

   public static void main(String[] args) {
   
    Consumer<Double> c1 = (x) ->{
   
        System.out.println("客户1花了"+x+"元,买了一辆车");
 };
    shopping(500,c1);

Consumer<Double> c2 = (x) ->{
   
    System.out.println("客户2花了"+x+"元,买了一堆化妆品" );
};
    shopping(50000,c2);
    }
}

2、 Supplier【供给型接口】

T get():提供返回任意类型数据的规则
作用:如果需要定义方法,可以生产一个需要的数据,又不需要提供参数; 这个方法 需要当做数据来进行传递,那么就可以使用供给型接口。

案例:
定义出一个方法功能, 能给客户返回出一个ArrayList类型容器, 容器中装几个数据由客户决定, 容器中承装的数据有什么规律, 由客户决定, 方法主要给客户返回一个符合客户要求的容器
客户1: 5个数据,都是30-80之间的随机数
客户2: 8个数据,1-100之间的随机偶数


```java
  public static ArrayList<Integer> getList(int count, Supplier<Int eger> sup)
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值