练习:求数组中元素的最大值。使用常用的函数式接口Supplier接口

package com.chunzhi.Test04Supplier;

import java.util.function.Supplier;

/*
    练习:求数组元素最大值
        使用Supplier接口作为方法参数类型,通过Lambda表达式求出int数组中的最大值
        提示:接口的泛型请使用java.lang.Integer类
 */
public class Test02 {
    // 定义一个方法,用于获取int类型数组中元素的最大值,方法的参数传递Supplier接口,泛型使用Integer
    public static int getMax(Supplier<Integer> sup) {
        return sup.get();
    }

    public static void main(String[] args) {
        // 定义一个int类型的数组,并赋值
        int[] arr = {1616, 7455, -22, 55524, 9343};
        // 调用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); // 数组中元素的最大值是:55524
    }
}

 

posted @ 2020-11-29 16:51  春志  阅读(317)  评论(0编辑  收藏  举报