1. 개요

이 사용방법(예제)에서는 범위 내의 숫자 시퀀스를 나열하는 다양한 방법을 살펴봅니다.

2. 범위의 숫자 나열

2.1. 전통적인 for 루프

전통적인 for 루프를 사용하여 지정된 범위의 숫자를 생성할 수 있습니다.

public List<Integer> getNumbersInRange(int start, int end) {
    List<Integer> result = new ArrayList<>();
    for (int i = start; i < end; i++) {
        result.add(i);
    }
    return result;
}

위의 코드는 시작 (포함)에서 (제외) 까지 의 숫자를 포함하는 List을 생성합니다 .

2.2. JDK 8 IntStream.range

JDK 8에 도입된 IntStream 은 지정된 범위에서 숫자를 생성하는 데 사용할 수 있으므로 for 루프의 필요성을 완화합니다.

public List<Integer> getNumbersUsingIntStreamRange(int start, int end) {
    return IntStream.range(start, end)
      .boxed()
      .collect(Collectors.toList());
}

2.3. IntStream.rangeClosed

이전 섹션에서 은 배타적입니다. 이 포함 된 범위의 숫자를 얻으려면 IntStream.rangeClosed 가 있습니다 .

public List<Integer> getNumbersUsingIntStreamRangeClosed(int start, int end) {
    return IntStream.rangeClosed(start, end)
      .boxed()
      .collect(Collectors.toList());
}

2.4. IntStream.iterate

이전 섹션에서는 일련의 숫자를 얻기 위해 범위를 사용했습니다. 시퀀스에 몇 개의 숫자가 필요한지 알면 IntStream.iterate 를 활용할 수 있습니다 .

public List<Integer> getNumbersUsingIntStreamIterate(int start, int limit) {
    return IntStream.iterate(start, i -> i + 1)
      .limit(limit)
      .boxed()
      .collect(Collectors.toList());
}

여기서 limit 매개변수는 반복할 요소의 수를 제한합니다.

3. 결론

이 기사에서는 범위 내에서 숫자를 생성하는 다양한 방법을 살펴보았습니다.

언제나처럼 코드 스니펫  은 GitHub 에서 찾을 수 있습니다 .

Generic footer banner