Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# ArrayList 완벽 가이드: 동적 크기 조절 컬렉션의 이해와 활용법

ArrayList는 List 인터페이스를 구현한 크기 조절이 가능한(resizable) 컬렉션입니다. C#에서 제공되는 제네릭이 아닌(non-generic) 컬렉션 타입으로, 요소가 추가되거나 제거될 때 내부적으로 용량이 자동으로 늘어나거나 줄어들어 동적으로 크기가 조정됩니다.

ArrayList는 System.Collections 네임스페이스에 속해 있으며, 서로 다른 자료형의 값을 하나의 컬렉션에 저장할 수 있다는 특징이 있습니다.

ArrayList 초기화 방법

C#에서 ArrayList를 선언하고 초기화하는 방법은 매우 간단합니다. 아래 코드 한 줄이면 빈 ArrayList 객체가 생성됩니다.

ArrayList arr = new ArrayList();

ArrayList에 요소 추가하기

Add() 메서드를 사용하면 컬렉션 끝에 새로운 요소를 추가할 수 있습니다.

ArrayList arr1 = new ArrayList();
arr1.Add(120);
arr1.Add(160);

ArrayList 전체 구현 예제

아래는 두 개의 ArrayList를 생성한 뒤, AddRange() 메서드로 하나로 합치고 전체 요소를 출력하는 완전한 예제입니다.

using System;
using System.Collections;

public class MyClass {
    public static void Main() {
        ArrayList arr1 = new ArrayList();
        arr1.Add(120);
        arr1.Add(160);

        ArrayList arr2 = new ArrayList();
        arr2.Add(200);
        arr2.Add(240);

        // arr1에 arr2의 모든 요소를 추가
        arr1.AddRange(arr2);

        for (int i = 0; i < arr1.Count; i++)
            Console.WriteLine(arr1[i]);
    }
}

실행 결과

120
160
200
240

주요 포인트 정리

  • Add(): 컬렉션의 맨 끝에 단일 요소를 추가합니다.
  • AddRange(): 다른 컬렉션이나 배열의 모든 요소를 한 번에 추가합니다.
  • Count: ArrayList에 현재 저장된 요소의 개수를 반환합니다.
  • 동적 크기 조절: 초기 용량을 초과하면 자동으로 용량이 확장됩니다.

참고 사항

ArrayList는 요소를 object 타입으로 저장하기 때문에 값 타입을 넣을 때 박싱(boxing)과 언박싱(unboxing)이 발생하여 성능 저하가 있을 수 있습니다. 따라서 최신 C# 개발에서는 같은 자료형만 다루는 경우 제네릭 컬렉션인 List<T>를 사용하는 것이 권장됩니다.