Supplier接口

package com.yang.Test.SupplierStudy;

import java.util.function.Supplier;

/**
* 常用的函数式接口
* java.util.function.Supplier<T>接口仅包含一个无惨的方法:T get()。用来获取一个泛型参数指定类型的对象数据
* Supplier<T>接口被称之为生产性接口,指定接口的泛型是什么类型,那么接口中的get方法就会产生什么类型的数据
*/
public class Study01 {
//定义一个方法,方法的参数传递Supplier<T>接口,泛型指定为String,get方法就会返回一个字符串
private static String getString(Supplier<String> supplier){
return supplier.get();
} public static void main(String[] args) {
//调用getString方法,方法的参数Supplier他是一个函数式接口所以可以传递Lambda表达式
String s = getString(() -> {
//生产一个字符串并且返回
return "啦啦啦啦";
});
System.out.println(s); //优化Lambda表达式
String s2 = getString(() -> "啦啦啦啦2");
System.out.println(s2);
}
}

练习_求数组中元素最大值

题目:

使用Supplier接口作为方法参数类型,通过Lambda表达式求出int数组中的最大值,提示:接口的泛型清使用Integer类

代码实现:

package com.yang.Test.SupplierStudy;

import java.util.function.Supplier;

public class Test {
//定义一个方法,用于获取int类型数组中元素的最大值,方法的参数传递Supplier,泛型为int的包装类Integer
private static int getMax(Supplier<Integer> supplier){
Integer max = supplier.get();
return max;
} public static void main(String[] args) {
//定义一个int类型的数组并且赋值
int[] arr = {5,8,9,10,15,77,1,99}; int arrMax = getMax(() -> {
//获取数组中的最大值并且返回
//定义一个变量,来记录数组中的最大元素
int max = 0;
for (int i : arr) {
//判断如果max<遍历数组中的元素,则替换max作为最大值
if (i > max) {
max = i;
}
}
return max;
}); System.out.println(arrMax);
}
}

最新文章

  1. Oracle常见SQL语句
  2. GPUImage相关(转)
  3. Zeller公式推导及C#代码示例(待完善)
  4. AX 获得当前Grid的数据源的记录行数
  5. JS获取节点方法
  6. 博主教你制作类似9patch效果的iOS图片拉伸
  7. sass学习(1)——了解sass
  8. NChome导出补丁包需要注意的东西
  9. ASP.NET项目中使用CKEditor +CKFinder 实现上传图片
  10. js原型二
  11. lesson - 2 yum /单用户/救援模式/Linux 启动
  12. centos7上修改主机名
  13. python的sys模块
  14. XSS Stored 测试
  15. Cygwin工具安装和使用指导书
  16. Visual Studio For MacOS 踩坑记(二)
  17. JAVA基础知识总结:二十
  18. jQuery 事件绑定四种方式,delegate委托强大绑定在3.0中修改为on
  19. PHP 多态理解
  20. [转]分布式中Redis实现Session终结篇

热门文章

  1. 有了 Promise 和 then,为什么还要使用 async?
  2. OpenStack 安装 Keystone
  3. 使用Go实现健壮的内存型缓存
  4. 虚拟机:KVM
  5. 766. Toeplitz Matrix - LeetCode
  6. Hapoop安装学习(第一天)
  7. ML第3周学习小结
  8. salesforce零基础学习(一百一十五)记一个有趣的bug
  9. Python数据分析--Numpy常用函数介绍(5)--Numpy中的相关性函数
  10. 介绍python和库文件管理