예제가 포함된 C# ArrayList 자습서
⚡ 스마트 요약
C#의 ArrayList는 System.Collections 네임스페이스에 속하는 동적 컬렉션으로, 객체를 요소로 저장합니다. 일반 배열과 달리 런타임에 크기가 변하며, 정수, 문자열, 부울 값을 하나의 리스트에 함께 저장할 수 있습니다.

C#의 ArrayList란 무엇입니까?
ArrayList 컬렉션은 다음과 유사합니다. 배열 C#의 데이터 유형. 가장 큰 차이점은 배열 목록 컬렉션의 동적 특성입니다.
배열의 경우 배열 선언 시 배열이 보유할 수 있는 요소의 수를 정의해야 합니다. 하지만 Array List 컬렉션의 경우 미리 정의할 필요가 없습니다. 언제든지 Array List 컬렉션에서 요소를 추가하거나 제거할 수 있습니다. 배열 목록 컬렉션에서 사용 가능한 작업을 자세히 살펴보겠습니다.
배열 목록 선언
ArrayList의 선언은 아래에 제공됩니다. ArrayList 데이터 유형의 도움으로 배열 목록이 생성됩니다. "new" 키워드는 ArrayList의 객체를 생성하는 데 사용됩니다. 그런 다음 개체는 변수 a1에 할당됩니다. 이제 변수 a1은 배열 목록의 다양한 요소에 액세스하는 데 사용됩니다.
ArrayList a1 = new ArrayList()
배열에 요소 추가
add 메소드는 ArrayList에 요소를 추가하는 데 사용됩니다. add 메소드를 사용하면 모든 종류의 데이터 유형 요소를 배열 목록에 추가할 수 있습니다. 따라서 정수, 문자열 또는 부울 값을 배열 목록에 추가할 수 있습니다. 추가 방법의 일반적인 구문은 다음과 같습니다.
ArrayList.add(element)
다음은 "add" 메소드를 사용하는 방법에 대한 몇 가지 예입니다. add 메소드를 사용하여 Array List 컬렉션에 다양한 데이터 유형을 추가할 수 있습니다.
아래에서는 정수의 문자열과 부울 값을 배열 목록 컬렉션에 추가하는 방법에 대한 예를 볼 수 있습니다.
- a1.add(1) – 컬렉션에 정수 값을 추가합니다.
- a1.add(“Example”) – 컬렉션에 문자열 값을 추가합니다.
- a1.add(true) – 컬렉션에 부울 값을 추가합니다.
이제 이것이 코드 수준에서 작동하는 것을 살펴보겠습니다. 아래에 언급된 모든 코드는 콘솔 애플리케이션에 작성됩니다. 코드는 Program.cs 파일에 기록됩니다.
아래 프로그램에서는 새로운 배열 목록을 생성하는 코드를 작성하겠습니다. 또한 요소를 추가하고 배열 목록의 요소를 표시하는 방법도 보여 드리겠습니다.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
Code 설명:-
- 첫 번째 단계는 배열 목록을 선언하는 데 사용됩니다. 여기서는 배열 목록의 요소를 보유하는 변수로 a1을 선언합니다.
- 그런 다음 add 키워드를 사용하여 숫자 1, 문자열 "Example" 및 부울 값 'true'를 배열 목록에 추가합니다.
- 그런 다음 Console.WriteLine 메서드를 사용하여 각 배열 목록 요소의 값을 콘솔에 표시합니다. 배열과 마찬가지로 인덱스 위치를 통해 요소에 액세스할 수 있다는 것을 알 수 있습니다. 따라서 Array List의 첫 번째 위치에 액세스하려면 [0] 인덱스 위치를 사용합니다. 등등.
위 코드를 올바르게 입력하여 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.
출력:
출력에서 배열 목록의 모든 요소가 콘솔로 전송되는 것을 볼 수 있습니다.
ArrayList의 일부로 사용할 수 있는 몇 가지 메서드를 더 살펴보겠습니다.
카운트
이 메서드는 ArrayList 컬렉션의 항목 수를 가져오는 데 사용됩니다. 다음은 이 명령문의 일반적인 구문입니다.
ArrayList.Count() – 이 메서드는 배열 목록에 포함된 요소 수를 반환합니다.
포함
이 메서드는 ArrayList 컬렉션에 요소가 있는지 확인하는 데 사용됩니다. 다음은 이 문의 일반적인 구문입니다.
ArrayList.Contains(element) – 이 메서드는 요소가 목록에 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
제거 위치
이 메서드는 ArrayList 컬렉션의 특정 위치에 있는 요소를 제거하는 데 사용됩니다. 다음은 이 문의 일반적인 구문입니다.
ArrayList.RemoveAt(index) – 이 메서드는 배열 목록의 특정 위치에서 요소를 제거합니다.
이제 이것이 코드 수준에서 작동하는 것을 살펴보겠습니다. 아래에 언급된 모든 코드는 콘솔 애플리케이션에 작성됩니다. 코드는 Program.cs 파일에 기록됩니다.
아래 프로그램에서는 위에서 언급한 방법을 어떻게 사용할 수 있는지 알아보기 위해 코드를 작성해 보겠습니다.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
Code 설명:-
- 따라서 우리가 보고 있는 첫 번째 속성은 Count 속성입니다. 배열 목록 a1의 Count 속성을 가져온 다음 이를 콘솔에 쓰고 있습니다.
- 두 번째 부분에서는 Contains 메서드를 사용하여 ArrayList a1에 요소 2가 포함되어 있는지 확인합니다. 그런 다음 Writeline 명령을 통해 결과를 콘솔에 씁니다.
- 마지막으로 요소 제거 방법을 보여주기 위해 아래 단계를 수행합니다.
- 먼저 배열 목록의 인덱스 위치 1에 있는 요소의 값을 콘솔에 씁니다.
- 그런 다음 배열 목록의 인덱스 위치 1에 있는 요소를 제거합니다.
- 마지막으로 배열 목록의 인덱스 위치 1에 있는 요소의 값을 콘솔에 다시 씁니다. 이 일련의 단계는 제거 방법이 제대로 작동하는지 여부에 대한 공정한 아이디어를 제공합니다.
위 코드를 올바르게 입력하여 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.
출력:
마지막 값이 왜 참인가요?
일련의 이벤트를 보면 예제 요소가 위치 1에 있으므로 배열에서 제거됩니다. 그런 다음 배열의 위치 1은 값이 'true'인 이전 위치 2에 있던 항목으로 대체됩니다.
C# ArrayList를 반복하는 방법
ArrayList의 모든 요소를 읽는 것은 흔히 수행되는 작업입니다. ArrayList는 항목을 객체로 저장하기 때문에 foreach 루프나 Count 속성을 사용하는 for 루프를 통해 각 요소를 순회할 수 있습니다. foreach 루프는 인덱스 없이 각 항목을 순서대로 탐색하므로 가장 간단한 방법입니다.
아래 예제는 문자열로 구성된 ArrayList를 생성하고 각 값을 한 줄씩 출력합니다. 이 코드는 콘솔 애플리케이션의 Program.cs 파일에 작성되었습니다.
단계 1) System.Collections 네임스페이스를 가져오고 세 개의 항목을 가진 ArrayList를 생성합니다.
단계 2) foreach 루프를 사용하여 각 요소를 객체로 읽어 콘솔에 출력합니다.
using System; using System.Collections; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add("Java"); a1.Add("Python"); a1.Add("Kotlin"); foreach (object item in a1) { Console.WriteLine(item); } Console.ReadKey(); } } }
Code 설명:-
- System.Collections 네임스페이스를 가져와서 프로그램에서 ArrayList 형식을 사용할 수 있도록 합니다.
- Add 메서드를 사용하여 세 개의 문자열 값을 ArrayList에 추가합니다.
- foreach 루프는 각 항목을 객체로 읽고, Console.WriteLine 메서드는 이를 새 줄에 출력합니다.
프로그램이 실행되면 출력됩니다. Java, Python예산 및 코 틀린 각 요소를 별도의 줄에 나열하세요. Count 속성을 사용하는 for 루프를 사용하면 각 요소의 인덱스 위치를 활용하면서 동일한 결과를 얻을 수 있습니다.
C# ArrayList의 메서드 및 속성
ArrayList 클래스는 요소를 관리하기 위한 다양한 내장 메서드와 속성을 제공합니다. 항목을 추가하고 제거하는 것 외에도 정렬, 검색 및 역순 정렬이 가능합니다. 가장 일반적인 멤버는 다음과 같습니다.
| 회원 | 기술설명 |
| 추가 | ArrayList의 끝에 요소 하나를 추가합니다. |
| 끼워 넣다 | 지정된 인덱스 위치에 요소를 추가합니다. |
| 제거 | 특정 요소의 첫 번째 발생 위치를 제거합니다. |
| 제거 위치 | 지정된 인덱스 위치에 있는 요소를 제거합니다. |
| 초기화 | ArrayList에서 모든 요소를 제거합니다. |
| 종류 | 요소들을 오름차순으로 정렬합니다. |
| Reverse | Reverse목록에 있는 요소들의 순서입니다. |
| 포함 | 주어진 요소가 리스트에 존재하면 true를 반환합니다. |
| 인덱스의 | 주어진 요소의 인덱스 위치를 반환합니다. |
| 카운트 | 저장된 요소의 개수를 반환하는 속성입니다. |
| 생산 능력 | 리스트가 담을 수 있는 요소의 개수를 반환하는 속성입니다. |
이러한 멤버를 사용하면 로직을 직접 작성하지 않고도 항목을 추가, 검색, 정렬 및 삭제할 수 있으며, 이는 일반 배열보다 컬렉션을 사용하는 주요 장점 중 하나입니다.
C#에서 ArrayList와 List의 차이점
ArrayList와 제네릭 모두 명부 런타임에 크기가 커질 수 있는 항목 그룹을 저장하는 데 사용되는 라이브러리는 여러 가지가 있지만, 유형 처리 방식은 서로 다릅니다. 이러한 차이점을 알면 최신 C# 코드에 적합한 라이브러리를 선택하는 데 도움이 됩니다.
주요 차이점은 다음과 같습니다.
- 유형 안전: ArrayList는 모든 항목을 객체로 저장하는 반면, List는 선언된 하나의 유형에만 바인딩되며 컴파일 시점에 검사됩니다.
- 성능 : ArrayList는 int와 같은 값 유형을 박싱하고 언박싱하는데, 이 과정에 시간이 소요되는 반면, List는 박싱을 피함으로써 속도를 향상시킵니다.
- 네임 스페이스 : ArrayList는 System.Collections에 속하고, List는 System.Collections.Generic에 속합니다.
- 주조 : ArrayList에서 데이터를 읽을 때는 종종 원래 유형으로 다시 형변환해야 하지만, List는 올바른 유형을 직접 반환합니다.
- 권장 사항 : Microsoft 새로운 개발에는 목록 형식이 더 안전하고 빠르며 읽기 쉽기 때문에 권장합니다.
요약하자면, ArrayList는 기존 코드나 혼합 데이터셋 저장소를 이해하는 데 유용하지만, List는 오늘날 대부분의 애플리케이션에서 선호되는 선택입니다.




