상세 컨텐츠

본문 제목

[람다함수] 1,10배열에서 큰수 중간 작은거 람다로출력

자바

by esoesmio 2023. 4. 5. 01:17

본문

[람다함수] 1,10배열에서 큰수 중간 작은거 람다로출력

 

4. 매개변수로 받아온 정수 배열에서 최대값, 최소값, 중간값을 구하는 메소드 getMax, getMin, getMid를 갖는 클래스 IntArrUtils를 구현하고
     maxOrMinOrMid라는 메소드를 갖는 함수형 인터페이스 MaxMinMid를 만들고 람다식으로 IntArrUtils의 메소드를 참조하여 구현하세요.

 

 

import java.util.Arrays;

public class IntArrUtils {
    public static int getMax(int[] nums) {
        return Arrays.stream(nums).max().orElse(0);
    }

    public static int getMin(int[] nums) {
        return Arrays.stream(nums).min().orElse(0);
    }

    public static int getMid(int[] nums) {
        int mid = nums.length / 2;
        Arrays.sort(nums);
        return nums[mid];
    }
}

@FunctionalInterface
interface MaxMinMid {
    int maxOrMinOrMid(int[] nums);
}

public class Main {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5};

        MaxMinMid getMax = (int[] arr) -> IntArrUtils.getMax(arr);
        MaxMinMid getMin = (int[] arr) -> IntArrUtils.getMin(arr);
        MaxMinMid getMid = (int[] arr) -> IntArrUtils.getMid(arr);

        System.out.println("Max: " + getMax.maxOrMinOrMid(nums));
        System.out.println("Min: " + getMin.maxOrMinOrMid(nums));
        System.out.println("Mid: " + getMid.maxOrMinOrMid(nums));
    }
}

'자바' 카테고리의 다른 글

[이넘]2  (0) 2023.04.05
[이넘]1  (0) 2023.04.05
[데몬스레드] 데몬스레드 종료하기  (0) 2023.04.04
[스레드 풀 종료]  (0) 2023.04.04
[람다함수] 곱하고 누나고 람다인터페이스로  (0) 2023.04.04

관련글 더보기

댓글 영역