JAVA/포스팅

자바 배열 동적 데이터 관리

짜집퍼박사(짜박) 2023. 11. 3. 08:34

자바에서 배열을 동적으로 관리하려면 기존 배열의 크기를 조절하거나 새 배열을 생성하여 데이터를 복사해야 합니다. 이것은 배열이 크기가 고정되어 있어서 요소를 추가하거나 제거해야 할 때 특히 유용합니다. 

 

1. 배열 동적 데이터 관리 예제

public class DynamicArrayExample {
    public static void main(String[] args) {
        // 초기 크기가 5인 배열 생성
        int[] dynamicArray = new int[5];
        int size = 0; // 배열에 저장된 요소 수

        // 배열에 요소 추가
        dynamicArray[size++] = 1;
        dynamicArray[size++] = 2;
        dynamicArray[size++] = 3;

        // 배열의 내용 출력
        System.out.println("배열 요소:");
        for (int i = 0; i < size; i++) {
            System.out.print(dynamicArray[i] + " ");
        }
        System.out.println();

        // 배열 크기를 더 크게 조절
        int newSize = 10;
        dynamicArray = resizeArray(dynamicArray, size, newSize);

        // 추가 요소 저장
        dynamicArray[size++] = 4;
        dynamicArray[size++] = 5;
        dynamicArray[size++] = 6;

        // 배열의 내용 출력
        System.out.println("배열 요소 (크기 조절 후):");
        for (int i = 0; i < size; i++) {
            System.out.print(dynamicArray[i] + " ");
        }
    }

    // 배열 크기를 조절하는 함수
    public static int[] resizeArray(int[] array, int currentSize, int newSize) {
        int[] newArray = new int[newSize];
        for (int i = 0; i < currentSize; i++) {
            newArray[i] = array[i];
        }
        return newArray;
    }
}

이 예제에서는 초기 크기가 5인 배열 dynamicArray를 생성하고, 요소를 추가합니다. 그러나 배열 크기가 고정되어 있어서 추가 요소를 저장하기 위해 크기를 늘리는 작업이 필요합니다.

 

1) resizeArray 함수

이 함수는 현재 배열과 크기를 받아 새 크기에 맞는 새로운 배열을 생성하고, 현재 배열의 내용을 새 배열로 복사합니다.

 

2) 배열 크기 조절

배열 크기를 조절하기 위해 resizeArray 함수를 사용합니다.

 

배열의 크기를 동적으로 관리하려면 배열을 복사하여 크기를 조절하는 과정이 필요합니다. 이런 동적 데이터 관리는 요소의 추가 및 제거, 데이터 저장 공간의 최적 활용 등에 유용하게 사용됩니다. Java에서는 ArrayList와 같은 동적 배열을 사용하여 이러한 작업을 더 간단하게 수행할 수도 있습니다.

 

With ChatGPT