내가 일하며 알게 된 프로그래밍
article thumbnail

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
profile

내가 일하며 알게 된 프로그래밍

@CtrlVGames