C#에서 Array, List, ArrayList는 모두 데이터를 저장하는데 사용되는 컬렉션 타입이다.
각 특징이라하면
1. Array
-고정된 크기의 요소들을 저장할 수 있는 컬렉션
-배열의 크기는 생성 시점에 결정, 변경 불가능
-인덱스를 사용하여 요소에 직접 액세스 가능
-다차원 배열도 지원
2. List
-동적으로 크기가 조정될 수 있는 컬렉션
-요소의 추가, 삭제, 수정 등이 자유로움
-인덱스를 사용하여 요소에 직접 액세스 가능
-Generic으로 구현되어 타입 안정성 보장
3. ArrayList
-동적으로 크기가 조정될 수 있는 컬렉션
-요소의 추가, 삭제, 수정 등이 자유로움
-인덱스를 사용하여 요소에 직접 엑세스 가능
-박싱, 언박싱으로 인한 성능 저하가 있을 수 있음
일단 공통점은
위의 사진처럼
인덱스를 사용하여 요소에 직접 엑세스 가능하다는 점이다.
각 대표적 단점으로는
1. Array : 크기가 고정되어 있기 때문에 크기를 변경하기 위해서는 새로운 배열을 생성하고 이전 요소를 복사해야 한다.
2. List : 내부적으로 배열을 사용하여 구현되기 때문에 추가, 삭제 시점에 배열을 다시 할당하고 복사를 수행하기때문에 성능 저하가 있을 수 있음
3. ArrayList : object타입으로 구현되어 있어 박싱,언박싱으로 인해 성능이 떨어질 수 있음
요약하자면
Array : 고정된 크기의 요소를 저장할 때 사용
List : 동적으로 크기가 조정될 수 있는 컬렉션을 사용
ArrayList : 다양한 데이터 유형을 저장할 때 사용
*List는 Generic에 있는 인터페이스, ArrayList는 Collections에 있는 인터페이스
'프로그래밍 > C#' 카테고리의 다른 글
C#과 다중 상속 (0) | 2023.08.01 |
---|---|
Static 클래스 (0) | 2023.07.31 |
C# String과 StringBuilder (0) | 2023.04.15 |
우선순위 큐? - 근데 이제 SortedDictionary 를 곁들인... (0) | 2023.04.15 |
C# 8.0의 달라진 Switch문 (2) | 2021.12.28 |