JDK8新特性常用函数接口常用的函数式接口Supplier接口二

40次阅读

共计 677 个字符,预计需要花费 2 分钟才能阅读完成。

package com.itheima.demo04.Supplier;

import java.util.function.Supplier;

/*

 练习:求数组元素最大值
    使用 Supplier 接口作为方法参数类型,通过 Lambda 表达式求出 int 数组中的最大值。提示:接口的泛型请使用 java.lang.Integer 类。

*/
public class Demo02Test {
// 定义一个方法, 用于获取 int 类型数组中元素的最大值, 方法的参数传递 Supplier 接口, 泛型使用 Integer
public static int getMax(Supplier<Integer> sup){

   return sup.get();

}

public static void main(String[] args) {
    // 定义一个 int 类型的数组, 并赋值
    int[] arr = {100,0,-50,880,99,33,-30};
    // 调用 getMax 方法, 方法的参数 Supplier 是一个函数式接口, 所以可以传递 Lambda 表达式
    int maxValue = getMax(()->{
        // 获取数组的最大值, 并返回
        // 定义一个变量, 把数组中的第一个元素赋值给该变量, 记录数组中元素的最大值
        int max = arr[0];
        // 遍历数组, 获取数组中的其他元素
        for (int i : arr) {
            // 使用其他的元素和最大值比较
            if(i>max){
                // 如果 i 大于 max, 则替换 max 作为最大值
                max = i;
            }
        }
        // 返回最大值
        return max;
    });
    System.out.println("数组中元素的最大值是:"+maxValue);
}

}

正文完
 0