C#의 ArrayList 클래스는 각 요소를 개별적으로 인덱스로 접근할 수 있는 순서가 있는 객체 컬렉션을 나타냅니다. 크기가 고정된 일반 배열과 달리, ArrayList는 요소를 추가하거나 제거할 때 용량(capacity)이 자동으로 조절되는 동적 배열이므로 배열의 훌륭한 대안으로 사용됩니다.
ArrayList 클래스의 주요 속성
다음 표는 ArrayList 클래스에서 가장 많이 사용되는 핵심 속성들을 정리한 것입니다.
| 번호 | 속성 및 설명 |
|---|---|
| 1 | Capacity ArrayList에 담을 수 있는 요소의 총 개수를 가져오거나 설정합니다. |
| 2 | Count ArrayList에 실제로 포함되어 있는 요소의 개수를 가져옵니다. |
| 3 | IsFixedSize ArrayList의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다. |
| 4 | IsReadOnly ArrayList가 읽기 전용인지 여부를 나타내는 값을 가져옵니다. |
| 5 | Item 지정한 인덱스 위치에 있는 요소를 가져오거나 설정합니다. |
C# ArrayList 사용 예제
다음 예제는 C#에서 ArrayList 객체를 생성하고 요소를 추가한 뒤, 현재 용량(Capacity)을 확인하는 방법을 보여줍니다. ArrayList의 기본 용량은 4이며, 저장된 요소 수가 이 값을 초과하면 용량이 자동으로 늘어납니다.
using System;
using System.Collections;
namespace Demo {
class Program {
static void Main(string[] args) {
ArrayList x = new ArrayList();
x.Add(45);
x.Add(53);
x.Add(12);
x.Add(88);
Console.WriteLine("Capacity: {0} ", x.Capacity);
}
}
}
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Capacity: 4
ArrayList는 System.Collections 네임스페이스에 속해 있으며, 위 예제처럼 Add() 메서드를 사용해 서로 다른 타입의 객체도 자유롭게 추가할 수 있습니다. 다만 ArrayList는 값 타입을 저장할 때 박싱(boxing) 오버헤드가 발생할 수 있으므로, 타입 안정성과 성능이 중요한 상황이라면 제네릭 컬렉션인 List<T>를 사용하는 것이 좋습니다.