기록하는 공부

[Java] 배열에서 최댓값 구하는 방법 (for문/Arrays.sort/stream) 본문

Language/Java

[Java] 배열에서 최댓값 구하는 방법 (for문/Arrays.sort/stream)

SS_StudySteadily 2023. 7. 11. 16:41
728x90
반응형

 

 

Java에서 배열의 요소 중 최댓값을 구하는 방법에 대해 알아보자.

 

 


 

 

첫 번째로, for문을 이용해 최댓값을 구하는 방법이 있다.

(필자는 for문을 이용해 찾는 코드를 이용했지만 손이 많이 가기 때문에 지양하고 있다.)

초기에 max 값에 0을 대입하여 배열의 각 요소와 비교하면서 max보다 값이 크면 max에 값을 대입하고 다음 요소와 계속 비교하는 방식이다.

 

int num = [1, 2, 3];
int max = 0;

for(int i=0; i<num.length; i++) {
	if(num[i] > max) {
    	max = num[i];
    }
}

 

 

 

 


 

 

다음은 Arrays.sort를 사용하는 방법이 있다.

Array.sort(배열이름)를 입력하면 오름차순으로 정렬된다.

최댓값을 가져오고 싶은 경우에는 오름차순이기 때문에 배열의 맨 끝 값을 가져오면 된다.

 

int num = [1, 2, 3];

Arrays.sort(num);

System.out.print("최댓값 : " + num[num.length - 1]);

 

 

 

 


 

 

다음은 stream을 사용하는 방법이다.

stream은 Java 8부터 지원되기 시작한 기능이며, 이에 대해서는 추후에 공부를 진행한 후 포스팅을 하도록 하겠다.

 

우선, 이 stream을 이용해 최댓값을 출력해 보자.

stream은 Arrays.stream(배열이름) 형태로 사용하며 최댓값을 구하기 위해서는 max()를 덧붙였다.

그리고 getAsInt()를 또 덧붙여 int 형태로 꺼내오면 배열의 최댓값을 구할 수 있다.

 

int num = [1, 2, 3];

Arrays.stream(num);

System.out.print("최댓값 : " + Arrays.stream(num).max().getAsInt());

 

728x90
반응형