자바의 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;
}

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

  • 2016년 07월 10일에 작성됨

조회수 76


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()가 본래 배열을 감싸는 것이기 때문에 메모리 부담이 없고 배열 내 원소의 복사본을 만들지 않습니다.

  • 2016년 07월 11일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close