Java/Short 개발

[Java/Short] 배열에서 순차적으로 숫자 값 채우는 방법: for, setAll, rangeClose, range

adjh54 2023. 4. 28. 23:47
반응형
해당 글에서는 배열 내에 순차적으로 숫자 값을 채우는 방법에 대해서 확인해 봅니다.





1) for() 함수를 이용한 방법


💡 for문을 순회하면서 배열의 요소 값을 순차적(1 ~ 10)으로 채웁니다.
int[] arr1 = new int[10];
for (int i = 0; i < arr1.length; i++) {
    arr1[i] = i + 1;
}
System.out.println(Arrays.toString(arr1)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 
 
 

2) Arrays.setAll() 함수를 이용한 방법


1. Arrays.setAll() 문법


💡 Arrays.setAll()란?

- 배열의 각 요소에 값을 할당하는 메서드입니다.
Arrays.setAll(T[] array, IntUnaryOperator generator)
매개변수 데이터 타입 설명
array T[] 값을 할당할 배열
generator IntUnaryOperator - 각 배열 요소의 값을 계산하는 함수.
- 이 함수는 int 값을 입력으로 받아 T 타입의 값을 반환합니다.

 
 

2. Arrays.setAll() 예시


💡 for문을 순회하면서 배열의 요소 값을 순차적(1 ~ 10)으로 채웁니다.
import java.util.*;

int n = 10;
 
int[] arr = new int[n];
Arrays.setAll(arr, i -> i + 1);

System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 
 
 

3) IntStream.rangeClose() 함수를 이용한 방법


💡 Java 8 이상부터 추가된 Stream을 이용하여 범위를 지정할 수 있습니다.

 

1. IntStream.rangeClose() 문법


💡 IntStream.rangeClose() 란?

- 배열의 시작 값과 끝 값을 지정하여 배열의 요소를 지정하는 Java 8의 Stream API 메서드입니다.
IntStream.rangeClose(int startInclusive, int endExclusive)
매개 변수 데이터 타입 설명
startInclusive int - 범위의 시작 값이며 실제 시작되는 값
endExclusive int - 범위의 종료 값이며 실제 종료되는 값

 
 

2. IntStream.rangeClose() 예시


💡 for문을 순회하면서 배열의 요소 값을 순차적(1 ~ 10)으로 채웁니다.
int[] arr = IntStream.rangeClosed(1, 10).toArray(); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 
 
 

4) IntStream.range() 함수를 이용한 방법


1. IntStream.range() 문법


 💡 IntStream.range()란?

- 메서드는 주어진 값의 범위에서 순차적이고 순서대로 요소 Stream을 생성하는 데 사용됩니다.
public static IntStream range(int startInclusive, int endExclusive)
매개 변수 데이터 타입 설명
startInclusive int 범위의 시작 값이며 실제 시작되는 값
endExclusive int 범위의 종료 값이며 실제 종료되는 값 + 1

 
 

2. IntStream.range() 예시


int[] arr = IntStream.range(1, 11).toArray();

 
 
 

 

5) [기타  - 참고] : 0으로 구성된 배열을 만드는 방법


💡 0으로 구성된 배열을 만드는 방법은 정수형 배열을 만들면 기본값인 0으로 지정되기에 배열의 사이즈만 지정해주면 됩니다.
int[] array = new int[5];	// [0, 0, 0, 0, 0]

 

 

 

 

 


 
오늘도 감사합니다. 😀
 
 
 

반응형