四大函数式接口

lambda表达式
链式编程
Stream式计算
函数式接口

函数式接口

@FunctionalInterface
public interface Runnable {
    public abstract void run();
}

//简化编程模型 
//forEach就是消费函数式接口

Function接口 (函数型接口) 传入一个参数,返回一个参数

在这里插入图片描述

	public static void main(String[] args) {
		//工具类:输出输入的值
//		 = new Function<String, String>() {
//			@Override
//			public String apply(String t) {
//				return t;
//			}
//		};
		
		//保留可读性的情况下,使用lambda表达式
		Function<String, String> function = (t)->{
			return t;
		};
		
		System.out.println(function.apply("1"));
		
	}

Predicate接口 (断定型接口)传入一个参数,返回Boolean

在这里插入图片描述

	public static void main(String[] args) {
		Map<Integer, String> map = new HashMap<>();
		map.put(1, "");
		
		Predicate<Map<Integer, String>> predicate = new Predicate<Map<Integer, String>>() {
			@Override
			public boolean test(Map<Integer, String> m) {
				return m.get(1).isEmpty();
			}
		};
		
		Predicate<Map<Integer, String>> predicate1 = m->m.get(1).isEmpty();
		
		System.out.println(predicate1.test(map));
	}

Consumer接口(消费型接口)传入一个参数

在这里插入图片描述

	public static void main(String[] args) {
		
		Consumer<String> consumer = new Consumer<String>() {
			@Override
			public void accept(String t) {
				System.out.println(t);
			}
		};
		
		Consumer<String> consumer2 = t->System.out.println(t);
		
		consumer2.accept("fk");
		consumer.accept("you");
	}

Supplier(供给型接口) 返回一个参数

在这里插入图片描述

	public static void main(String[] args) throws AWTException {
		Robot robot = new Robot();
		Supplier<?> supplier = new Supplier<Object>() {
			Robot robot = new Robot();
			@Override
			public Object get() {
				robot.mouseMove(10000, 10000);
				return true;
			}
		};
		
		Supplier<?> supplier1 = ()->{robot.mouseMove(100, 100);return true;};
		
		supplier1.get();
		try {
			TimeUnit.SECONDS.sleep(1);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		supplier.get();
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小小狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值