Java에서 배열을 초기화하는 방법은 무엇입니까?

배열은 동일한 데이터 유형을 갖는 데이터 객체를 저장하는 데 사용되는 Java의 데이터 구조입니다. 배열의 모든 요소에는 고유한 인덱스 값이 있습니다. 배열에서는 크기를 먼저 선언해야 하며 배열의 크기는 고정되어 있습니다. 배열에는 정수, 문자열, 날짜 등과 같은 다양한 데이터 유형의 요소를 저장할 수 있습니다. 이 기사에서는 배열을 선언하고 초기화하는 다양한 방법에 대해 설명합니다.

Java에서 배열 선언

배열은 해당 데이터 유형과 식별자를 사용하여 선언됩니다. Java에서 배열은 다른 변수 선언과 비슷한 방식으로 선언되지만 배열을 선언할 때 추가 대괄호 []가 추가됩니다.

통사론:

int arr []; int [] arr; 

여기서는 배열의 참조가 메모리에 생성되므로 배열의 크기는 언급하지 않습니다. 배열의 메모리 주소라고도 합니다.

Java에서 배열을 초기화하는 방법은 무엇입니까?

배열을 선언한 후에는 다른 변수와 마찬가지로 배열을 값으로 초기화해야 합니다. 배열에서는 여러 값을 할당해야 하므로 초기화 과정이 변수만큼 간단하지 않습니다. 기본값 또는 기본값이 아닌 값으로 배열을 초기화할 수 있습니다. 다음은 배열을 초기화하는 다양한 방법입니다.

  • 기본값으로 배열 초기화
  • 기본값이 아닌 값으로 배열 초기화
  • 중괄호 { }를 사용하여 배열 초기화
  • 스트림 인터페이스를 사용한 초기화

기본값으로 배열 초기화

Java에서는 배열의 크기를 대괄호 [ ]로 선언하면 기본값으로 배열을 초기화할 수 있습니다.

int [] arr = new int[20]; 

위 코드에서는 데이터 유형이 정수인 크기 20의 배열이 선언되었습니다. 데이터 유형마다 선언 시 초기화되는 기본값이 다릅니다. 정수형 배열의 기본값은 0이고, 불리언형 배열의 기본값은 false이고, 문자열형 배열의 기본값은 빈 문자열입니다.

기본값이 아닌 값으로 배열 초기화

Java에서는 특정 값으로 배열을 초기화할 수도 있습니다. 이를 위해서는 각 값을 하나씩 초기화해야 합니다. 그러나 이 방법은 크기가 큰 배열이 아닌 작은 크기의 배열에만 유용합니다. 대규모 배열의 경우 기본값이 아닌 값을 초기화하려면 루프를 사용해야 합니다.

다음 예에서는 크기가 6인 정수형 배열을 선언한 다음 기본값이 아닌 6개의 값을 초기화합니다.

int[] arr = new int[6]; arr[0] = 8; arr[1] = 6; arr[2] = 4; arr[3] = 2; arr[4] = 1; arr[5] = 9; 

중괄호 { }를 사용하여 배열 초기화

배열의 크기를 선언할 필요 없이 중괄호를 사용하여 배열을 초기화할 수도 있습니다. 기본값이 아닌 모든 값은 쉼표로 구분된 중괄호로 초기화됩니다.

다음 예에서는 문자열 유형 배열이 중괄호를 사용하여 기본값이 아닌 값으로 초기화됩니다.

String[] arrStr = {'Geeks', 'of', 'Geeks'}; 

스트림 인터페이스를 사용한 초기화

값의 스트림을 생성한 다음 배열로 변환하는 스트림 인터페이스를 사용하여 배열을 초기화할 수 있습니다. 다음은 정수형 배열을 초기화하는 데 사용되는 세 가지 인스트림 인터페이스입니다.

  • IntStream.range()
  • IntStream.rangeClosed()
  • IntStream.of()

1. IntStream.range()

주어진 범위 내에서 정수 배열을 초기화하는 데 사용됩니다. 범위의 첫 번째 매개변수는 배열의 첫 번째 요소가 되고 배열의 다른 요소는 해당 요소보다 크지만 범위의 두 번째 매개변수보다 작습니다.

2. IntStream.rangeClosed()

우리는 또한 사용할 수 있습니다 범위 폐쇄() 대신에 범위() 배열에 있는 범위의 마지막 요소를 추가하려는 경우 첫 번째 매개변수는 범위 폐쇄() 메소드는 배열의 첫 번째 요소가 되며 배열의 다른 요소는 해당 요소보다 크지만 두 번째 매개변수보다 작거나 같습니다. 범위 폐쇄() 방법.

3. IntStream.of()

이 방법은 배열에 할당하려는 모든 요소를 ​​개별적으로 언급해야 하는 중괄호와 유사하게 작동합니다. 다음 코드에서는 이러한 세 가지 인터페이스를 사용하여 배열에 값을 할당했습니다.

예:

자바




// Java program to demonstrate different ways of> // initializing an integer array.> import> java.util.stream.IntStream;> > // Driver Clas> public> class> Main {> > // Main function> > public> static> void> main(String[] args)> > {> > > // an array of integers using IntStream.range()> > // method> > int> [] arr1 = IntStream.range(> 1> ,> 5> ).toArray();> > for> (> int> i => 0> ; i System.out.print(arr1[i] + ' '); } System.out.print(' '); // an array of integers using // IntStream.rangeClosed() method int[] arr2 = IntStream.rangeClosed(1, 4).toArray(); for (int i = 0; i System.out.print(arr2[i] + ' '); } System.out.print(' '); // an array of integers using IntStream.of() // method int[] arr3 = IntStream.of(1, 2, 3, 4).toArray(); for (int i = 0; i System.out.print(arr3[i] + ' '); } } }>

산출

1 2 3 4 1 2 3 4 1 2 3 4