본문 바로가기
Language/Java

자바 배열 최대값 최소값 구하는 방법

by wakestand 2020. 12. 7.
반응형

자바에서 배열의 최대값 최소값을 구하는 방법은

for 문을 이용하는 방법,

Array.sort(배열명) 을 이용하는 방법

Stream을 이용하는 방법 3가지가 있는데

차례대로 알아보자

 

먼저 for 문을 이용하는 방법은

for 문을 돌려가면서 가장 큰 값을 찾는 식인데

최대값은 위의 코드를 그대로 가져다 사용하면 되고

최소값은 if 문에서 방향만 반대로 바꿔주면 된다

 

for 문은 손이 많이 가기 때문에

해당 방법을 활용하기에는 귀찮다

 

다음은 Arrays.sort를 이용한 방법인데

Arrays.sort(배열명); 을 해주면

자동으로 정렬이 되기 때문에

최대값을 구하려면 배열 끝 값을

최소값을 가져오려면 배열 처음 값을 가져오면 된다

 

마지막으로 Stream을 이용한 방법인데

Arrays.stream(배열명)

으로 스트림 형태로 만들어 준 뒤에

.max() .max()로 최대값, 최소값을 구하고

.getAsInt();로 int 형태로 꺼내오면 바로 끝이 난다

 

스트림은 처음 보면 이해가 어렵긴 한데

 

자바 스트림(Stream) 예제부터 사용법까지 정리

자바에서 스트림이라고 하면 대부분 엄청나게 어려운 기술인 줄 알고 시작도 전에 포기하는 경우가 많은데 스트림은 엄청 간단하고 유용한 기술이다 다만 설명하는 사람들이 쉬운 걸 너무 어렵

wakestand.tistory.com

최소값, 최대값의 경우에는

스트림 형태로 만들고, max(), min()을 사용해준 뒤

꺼내오기만 하면 끝이니 어려워할 필요가 없다

 

마지막으로 예제에 사용한 코드는 아래와 같다

 

	public static void main(String[] args) {
		int arr[] = {3,1,40,2,5,237,4};
		
		// for를 이용한 방법 (최소값의 경우에는 if 괄호 방향을 바꿔준다)
		int max = arr[0]; // 배열 길이가 1일 경우를 대비해..
		for (int i = 1; i < arr.length; i++) {
			 if (arr[i] > max) {
				 max = arr[i];
			 }
		}
		System.out.println("For 문을 이용한 방법");
		System.out.println("최대값 : " + max);
		
		// Arrays.sort를 이용한 방법
		System.out.println("Arrays.sort를 이용한 방법");
		Arrays.sort(arr); // 배열 정렬
		System.out.println("최대값 : " + arr[arr.length-1]); // 최대값
		System.out.println("최소값 : " + arr[0]); // 최소값
		
		// Stream을 이용한 방법
		System.out.println("Stream을 이용한 방법");
		// Arrays.stream(배열명) 으로 배열 생성
		System.out.println("최대값 : " + Arrays.stream(arr).max().getAsInt());
		System.out.println("최소값 : " + Arrays.stream(arr).min().getAsInt());
		
	}
반응형

댓글