자바의 primitive 타입의 배열에서 최대/최소값 찾기

다음과 같이 배열의 최대/최소값을 찾는 함수를 직접 작성하는 일은 다소 귀찮습니다:

/**
 * 
 * @param chars
 * @return char 배열에서의 최대값
 */
private static int maxValue(char[] chars) {
    int max = chars[0];
    for (int ktr = 0; ktr < chars.length; ktr++) {
        if (chars[ktr] > max) {
            max = chars[ktr];
        }
    }
    return max;
}

이미 정의된 함수가 있나요?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    Commons.Lang(전환목적)과 Collection(최대/최소값 찾기 목적)을 사용합니다.

    import java.util.Arrays;
    import java.util.Collections;
    
    import org.apache.commons.lang.ArrayUtils;
    
    public class MinMaxValue {
    
        public static void main(String[] args) {
            char[] a = {'3', '5', '1', '4', '2'};
    
            List b = Arrays.asList(ArrayUtils.toObject(a));
    
            System.out.println(Collections.min(b));
            System.out.println(Collections.max(b));
       }
    }
    

    Arrays.asList()가 본래 배열을 감싸는 것이기 때문에 메모리 부담이 없고 배열 내 원소의 복사본을 만들지 않습니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.