logo

Java의 정적 배열

자바에서는 정렬 동일한 유형의 요소를 포함하는 가장 중요한 데이터 구조입니다. 연속적인 메모리 할당에 요소를 저장합니다. 배열에는 두 가지 유형이 있습니다. 정적 배열 그리고 동적 배열. 이 섹션에서는 다음 사항에만 중점을 둘 것입니다. Java의 정적 배열 .

정적 배열

static 키워드로 선언된 배열을 정적 배열이라고 합니다. 크기가 고정된 메모리를 컴파일 타임에 할당합니다. 정적 배열은 변경할 수 없습니다.

사용자의 입력에 따라 배열의 크기를 조정하려면 정적 배열을 사용할 수 없습니다. 이러한 경우 동적 배열을 사용하면 런타임 시 배열의 크기를 지정할 수 있습니다.

정적 배열 예

예를 들어, int arr[10]은 크기가 10인 배열을 만듭니다. 이는 10개의 요소만 삽입할 수 있음을 의미합니다. 배열의 크기는 고정되어 있으므로 11번째 요소를 추가할 수 없습니다.

 int arr[] = { 1, 3, 4 }; // static integer array int* arr = new int[3]; // dynamic integer array 

정적 배열의 장점

  • 효율적인 실행 시간을 가지고 있습니다.
  • 정적 할당의 수명은 프로그램의 전체 실행 시간입니다.

정적 배열의 단점

  • 필요한 것보다 더 많은 정적 데이터 공간이 선언되면 공간이 낭비됩니다.
  • 필요한 것보다 적은 정적 공간이 선언되는 경우 런타임 중에 이 고정 크기를 확장하는 것이 불가능해집니다.

정적 배열 선언

정적 배열을 선언하는 구문은 다음과 같습니다.

 []={,,.....}; 

예를 들어:

cpld 대 fpga
 String[] suit = new String[] { 'Japan', 'India', 'Austria', 'Dubai' }; 

다음과 같이 정적 배열을 선언하고 초기화할 수도 있습니다.

 String[] suit = { 'Japan', 'India', 'Austria', 'Dubai' }; 

정적 배열을 목록으로 선언할 수도 있습니다. 예를 들어:

형식이 있는 Java 문자열
 List suit = Arrays.asList( 'Japan', 'India', 'Austria', 'Dubai' ); 

정적 배열 Java 프로그램

StaticArrayExample.java

 public class StaticArrayExample { private static String[] array; static { array = new String[2]; array[0] = &apos;Welcome to&apos;; array[1] = &apos;Javatpoint&apos;; } public static void main(String args[]) { for(int i = 0; i <array.length; i++) { system.out.print(array[i] + ' '); } < pre> <p> <strong>Output:</strong> </p> <pre> Welcome to Javatpoint </pre> <p>Let&apos;s see another Java program.</p> <p> <strong>StaticArrayExample.java</strong> </p> <pre> public class StaticArrayExample2 { //creates a static array of integer type static Integer[] integerArray; static { integerArray = new Integer[] { new Integer(1), new Integer(2), new Integer(3), new Integer(4), new Integer(5)}; } public static void main(String args[]) { //loop iterate over static array for (int i = 0; i <integerarray.length; i++) { prints array elements system.out.println(integerarray[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 1 2 3 4 5 </pre> <h2>Difference Between Static Array and Dynamic Array</h2> <p>The following table describes the key differences between static array and dynamic array.</p> <table class="table"> <tr> <th>Static Array</th> <th>Dynamic Array</th> </tr> <tr> <td>Static arrays are allocated memory at compile time.</td> <td>Dynamic array is located at run-time.</td> </tr> <tr> <td>The size of static array is fixed.</td> <td>The size of dynamic array is fixed. </td> </tr> <tr> <td>It is located in stack memory space.</td> <td>It is located in heap memory space.</td> </tr> <tr> <td>int array[10]; //array of size 10</td> <td>int* array = new int[10];</td> </tr> </table> <hr></integerarray.length;></pre></array.length;>

다른 Java 프로그램을 살펴보겠습니다.

StaticArrayExample.java

 public class StaticArrayExample2 { //creates a static array of integer type static Integer[] integerArray; static { integerArray = new Integer[] { new Integer(1), new Integer(2), new Integer(3), new Integer(4), new Integer(5)}; } public static void main(String args[]) { //loop iterate over static array for (int i = 0; i <integerarray.length; i++) { prints array elements system.out.println(integerarray[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 1 2 3 4 5 </pre> <h2>Difference Between Static Array and Dynamic Array</h2> <p>The following table describes the key differences between static array and dynamic array.</p> <table class="table"> <tr> <th>Static Array</th> <th>Dynamic Array</th> </tr> <tr> <td>Static arrays are allocated memory at compile time.</td> <td>Dynamic array is located at run-time.</td> </tr> <tr> <td>The size of static array is fixed.</td> <td>The size of dynamic array is fixed. </td> </tr> <tr> <td>It is located in stack memory space.</td> <td>It is located in heap memory space.</td> </tr> <tr> <td>int array[10]; //array of size 10</td> <td>int* array = new int[10];</td> </tr> </table> <hr></integerarray.length;>

정적 배열과 동적 배열의 차이점

다음 표에서는 정적 배열과 동적 배열의 주요 차이점을 설명합니다.

정적 배열 동적 배열
정적 배열은 컴파일 타임에 메모리가 할당됩니다. 동적 배열은 런타임에 위치합니다.
정적 배열의 크기는 고정되어 있습니다. 동적 배열의 크기는 고정되어 있습니다.
스택 메모리 공간에 위치합니다. 힙 메모리 공간에 위치합니다.
정수 배열[10]; //크기 10의 배열 int* 배열 = 새로운 int[10];