어제 오늘 내일

[Java] 배열 합계/평균 계산하기 (반복문, Stream) 본문

IT/Java

[Java] 배열 합계/평균 계산하기 (반복문, Stream)

hi.anna 2021. 5. 3. 06:36

반복문과 Stream을 사용하여

배열의 합계와 평균을 계산하는 방법을 정리하였습니다.

 

  1. 합계 계산하기
    • 반복문
    • Stream
  2. 평균 계산하기
    • 반복문
    • Stream

 

 

1. 합계 계산하기

1.1 반복문

  코드  

public class ArraySum {
    public static void main(String[] args) {

        // int 배열
        int[] arr = { 1, 2, 3, 4, 5 };

        // 합계 계산
        int sum = 0;
        for (int num : arr) {
            sum += num;
        }

        // 결과 출력
        System.out.println(sum);  // 15
    }
}

  결과  

15

forEach 문을 사용하여

모든 배열의 값을 더해서 합계를 계산했습니다.

 

1.2 Stream

  코드  

import java.util.Arrays;

public class ArraySum {
    public static void main(String[] args) {

        // int 배열
        int[] arr = { 1, 2, 3, 4, 5 };

        // 합계 계산
        int sum = Arrays.stream(arr).sum();

        // 결과 출력
        System.out.println(sum);  // 15
    }
}

  결과  

15

Stream의 sum() 메소드를 이용해서 합계를 계산하였습니다.

반복문을 써서 계산하는 것보다 코드가 간결하고, 가독성이 더 좋습니다.

 

 

 

2. 평균 계산하기

2.1 반복문

  코드  

public class ArrayAverage {
    public static void main(String[] args) {

        // int 배열
        int[] arr = { 1, 2, 3, 4, 5 };

        // 합계 계산
        int sum = 0;
        for (int num : arr) {
            sum += num;
        }

        // 평균 계산
        double average = sum / arr.length;

        // 결과 출력
        System.out.println(average); // 3.0
    }
}

  결과  

3.0

반복문을 사용하여 합계를 구한 후에,

합계를 배열의 길이로 나누어 주었습니다.

 

2.2 Stream

  코드  

import java.util.Arrays;

public class ArrayAverage {
    public static void main(String[] args) {

        // int 배열
        int[] arr = { 1, 2, 3, 4, 5 };

        // 평균 계산
        double average = Arrays.stream(arr).average().orElse(0);

        // 결과 출력
        System.out.println(average); // 3.0
    }
}

  결과  

3.0

Stream의 average()를 이용하여 평균을 계산했습니다.

average()는 OptionalDouble 타입을 리턴합니다.

OptionalDouble의 orElse() 메소드를 이용하여, 

average()가 리턴한 값이 없을 경우, null 대신 0을 리턴하도록 하였습니다.

 


 

반복문과 Stream을 이용하여 

배열의 합계와 평균을 계산하는 방법을 알아보았습니다.

 

 

반응형
Comments