자바의 primitive 타입의 배열에서 최대/최소값 찾기
조회수 1149회
다음과 같이 배열의 최대/최소값을 찾는 함수를 직접 작성하는 일은 다소 귀찮습니다:
/**
*
* @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 답변
-
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()가 본래 배열을 감싸는 것이기 때문에 메모리 부담이 없고 배열 내 원소의 복사본을 만들지 않습니다.
댓글 입력