C# 동적 배열이란 무엇인가?
동적 배열(Dynamic Array)은 실행 중에 크기가 자동으로 늘어나거나 줄어들 수 있는 배열입니다. 일반적인 정적 배열은 한 번 선언하면 크기를 변경할 수 없기 때문에, 필요한 데이터의 양을 미리 알 수 없는 상황에서는 비효율적일 수 있습니다. 반면 동적 배열은 요소가 추가될 때마다 내부적으로 용량을 조절하기 때문에 훨씬 더 유연하게 활용할 수 있습니다.
ArrayList를 사용한 동적 배열 생성
C#에서는 ArrayList 컬렉션을 사용하여 동적으로 배열을 생성할 수 있습니다. ArrayList는 각 요소를 인덱스로 개별적으로 접근할 수 있는 순서화된 객체 컬렉션을 나타내며, 다음과 같은 기능을 제공합니다.
- 동적 메모리 할당: 요소가 추가되면 자동으로 용량이 확장됩니다.
- 항목 추가 및 제거: Add(), Remove() 등의 메서드로 자유롭게 관리할 수 있습니다.
- 검색: Contains() 메서드로 특정 항목의 존재 여부를 확인할 수 있습니다.
- 정렬: Sort() 메서드로 목록 내 항목들을 손쉽게 정렬할 수 있습니다.
다음은 C#에서 동적 배열을 생성하는 방법을 보여주는 예제입니다.
예제 코드
using System;
using System.Collections;
namespace Demo {
class Program {
static void Main(string[] args) {
ArrayList al = new ArrayList();
al.Add(577);
al.Add(286);
Console.WriteLine("Count: {0}", al.Count);
Console.Write("List: ");
foreach (int i in al) {
Console.Write(i + " ");
}
Console.WriteLine();
Console.ReadKey();
}
}
}실행 결과
Count: 2 List: 577 286
코드 설명
위 예제에서는 먼저 ArrayList 객체를 생성한 뒤, Add() 메서드를 사용해 두 개의 정수 값을 추가했습니다. Count 속성을 통해 현재 저장된 요소의 개수를 확인할 수 있으며, foreach 문으로 목록의 모든 요소를 순회하며 출력합니다. 이처럼 ArrayList를 사용하면 배열의 크기를 미리 지정하지 않고도 데이터를 자유롭게 추가하고 관리할 수 있습니다.