0Pricing
Java Academy · 강의

범위와 집계 연산

range, sum, average, summaryStatistics를 알아봅니다

범위와 집계 연산은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

범위 생성하기

IntStream.range(start, end)는 start부터 end 바로 전까지의 연속된 정수를 생성하며, end는 포함하지 않습니다.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        IntStream.range(0, 5).forEach(System.out::println);
    }
}

rangeClosed는 끝값을 포함합니다

IntStream.rangeClosed(start, end)는 마지막 값을 포함하므로 rangeClosed(1, 5)는 1부터 5까지를 생성합니다.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int sum = IntStream.rangeClosed(1, 5).sum();
        System.out.println(sum);
    }
}

인덱스 반복문 대체하기

배열 위치를 순회할 때 범위는 인덱스 기반 for 반복문을 깔끔하게 대체합니다.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        String[] names = {"a", "b", "c"};
        IntStream.range(0, names.length)
            .forEach(i -> System.out.println(i + ": " + names[i]));
    }
}

sum

sum은 모든 요소를 더하고 기본 타입 결과를 반환합니다.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int total = IntStream.rangeClosed(1, 100).sum();
        System.out.println(total);
    }
}

average

average는 스트림이 비어 있을 수 있으므로 OptionalDouble을 반환합니다.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        double avg = IntStream.of(2, 4, 6, 8).average().getAsDouble();
        System.out.println(avg);
    }
}

min과 max

min과 max는 OptionalInt를 반환합니다. 스트림이 비어 있지 않다는 것을 알고 있다면 getAsInt를 사용하십시오.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int hi = IntStream.of(3, 9, 1, 7).max().getAsInt();
        int lo = IntStream.of(3, 9, 1, 7).min().getAsInt();
        System.out.println(lo + " .. " + hi);
    }
}

개수

count는 요소 개수를 long으로 반환합니다.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        long n = IntStream.rangeClosed(1, 50).filter(x -> x % 3 == 0).count();
        System.out.println(n);
    }
}

summaryStatistics

summaryStatistics는 한 번의 순회로 개수, 합계, 최솟값, 평균, 최댓값을 계산하고 IntSummaryStatistics를 반환합니다.

import java.util.IntSummaryStatistics;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        IntSummaryStatistics stats = IntStream.of(5, 10, 15, 20).summaryStatistics();
        System.out.println(stats);
    }
}

개별 통계 읽기

통계 요약 객체는 getCount, getSum, getMin, getMax, getAverage를 제공합니다.

import java.util.IntSummaryStatistics;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        IntSummaryStatistics s = IntStream.rangeClosed(1, 10).summaryStatistics();
        System.out.println("count=" + s.getCount());
        System.out.println("avg=" + s.getAverage());
        System.out.println("max=" + s.getMax());
    }
}

범위와 집계 결합하기

범위와 집계는 자연스럽게 조합됩니다. 값을 생성하고 변환한 다음 하나의 숫자로 축약할 수 있습니다.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int sumOfSquares = IntStream.rangeClosed(1, 4)
            .map(n -> n * n)
            .sum();
        System.out.println(sumOfSquares);
    }
}

LongStream 집계

LongStream은 동일한 범위 및 집계 메서드를 제공하며 LongSummaryStatistics를 반환합니다.

import java.util.stream.LongStream;

public class Main {
    public static void main(String[] args) {
        long sum = LongStream.rangeClosed(1, 1000).sum();
        System.out.println(sum);
    }
}

빠른 확인

range와 rangeClosed는 어떻게 다릅니까?

복습

기본 타입 범위를 생성하고 요약했습니다:

  • range는 끝값을 제외하고, rangeClosed는 끝값을 포함합니다.
  • 집계에는 sum, average(OptionalDouble), min/max(OptionalInt), count가 있습니다.
  • summaryStatistics는 한 번의 순회로 이 모든 값을 계산합니다.

자주 묻는 질문

“범위와 집계 연산” 강의는 무료인가요?

네 — “범위와 집계 연산” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“범위와 집계 연산”에서 뭘 배우나요?

range, sum, average, summaryStatistics를 알아봅니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Java Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“범위와 집계 연산” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. IntStream과 LongStream
  2. 범위와 집계 연산
  3. 객체 스트림으로 매핑하기
  4. 기본형 스트림 생성
← Java Academy(으)로 돌아가기